Ermittlung der Füllstandsmenge.

Zuviel Werbung?
-> Hier kostenlos registrieren
Der Timer fängt aber immer wieder von Vorne an zu zählen!Wird das Befüllventil bzw. das Entleerventil nur kurz angesteuert unter 3,75sec bzw. unter 1l wird man es nicht mitbekommen!
 
Ok da hast du recht.
Tanks mit denen ich zu tun habe gehen von 20 000 liter an aufwärts. Da entnimmt man nicht einen Liter.
Bei kleineren Mengen MUSS man natürlich mit REAL Zahlen drangehen und evtl. als Maßeinheit 0,1 oder gar 0,01 Liter nehmen.
Das hat aber mit dem Prinzip nichts zu tun.

peter(R)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Peter(R),
ich habe mir Zeit genommen, um den Code verstehen zu können. Steht db1.dbw0 für 0-te DatenbausteinWort aus dem 1. Datenbaustein?
Falls ja würde ich gerne wissen, wie du DB1 definiert hast und ob oder was für Daten du im Instanz-DB1 hast.
Als Neuling ins Thema wollte ich erstmal das Befüllen als reine FC programmieren und zwar im FUP, und anschliessend das ganze in AWL selber
umschreiben. Dies ohne, irgendwelche vom Simatic angebotene Umschreibungsmöglichkeit zu benutzen.Mein Ziel ist irgendwann mal diese Sprache
etwa routiniert zu manipulieren.
ich versuche nochmal das ganze im FUP zu stellen, lade hier hoch und bitte dich um Korrektur, ob alles in Ordnung ist. Ist es Dir (!) möglich?
 
Eben!Hab ja geschrieben das deine Version im Prinzip auch passt!

@Bamby:Wieso fängst du nicht mal bei den Basics der Programmierung an?
Und ja DB1.DBW0 steht für das erste Wort im DB1!DB1 muss nicht unbedingt ein Instanz DB sein sonder kann auch ein Global DB sein!
Schau dir mal die ganze Sache mit DB;FB;FC usw. an!
Es ist wichtig das du das alles verstehst!
Die Funktion kann man Theroretisch auch in FUP in einem FC Programmieren!
Aber ich finde es eine gute Idee das du es versuchen willst und dann den Code einstellst!
Dann sehen wir gleich deine Ansätze!


Mfg Mario
 
Zuletzt bearbeitet:
In FUP würde ich das nicht machen. Die springerei sieht in FUP nicht richtig übersichtlich aus ( um es höflich zu formulieren).
Für das bisschen würde sich ein FB nicht lohnen also DB1.dbw0 ist ein INT ausser der Tank wäre richtig groß groß dann sollte es ein DINT sein ( das aber eher als Scherz ).
Aber wie mein Vorredner schon in seinem Beispiel gepostet hat würde ich in Realität mit sicherheit auch eine REAL Zahl nehmen da ist man einfach flexibler.

Mach mal und stelle es rein dann sehen wir weiter. ;)

peter(R)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nachtrag zu r FUP Programmierung:
Denke daran, dass du evtl. später mal umfangreichere Sprünge machen musst evtl. sogar verschachtelt.
Das versteht man in EINEM AWL Netzwerk mit entsprechnder Kommentieung viel einfacher. In FUP gibt das viele viele Netzwerke,
man scrollt ohne ende und verliert sehr schnell den Faden.
Ich persönlich nutze für Berechnungen aller art und springereien nur AWL.
Sollte dir in meinem Beispiel was nicht klar sei dann frage ruhig.

peter(R)
 
Hallo!
@Bamby:Wieso fängst du nicht mal bei den Basics der Programmierung an?
du hast Recht! Ich habe das ganze in Form eines Flussdiagramms gestellt aber mir fehlen einiges...Be- oder Zusammenschaltung von Blocken usw...Ich finde z.B. keine Bausteine zur Typenkonvertierung(Bsp: Int-->Real über ITD und DTR...
Bin eigentlich Student der Energietechnik und habe die Vorlesung als Zusatzfach à 4SWS leider ohne Labor/praktische Übung gehört. Nur viel Theorie bis jetzt!
habe mir einfache DDinge aus dem Buch geholt und konnte schon mit bool'schen Variablen gut spielen..
 
Hallo!

du hast Recht! Ich habe das ganze in Form eines Flussdiagramms gestellt aber mir fehlen einiges...Be- oder Zusammenschaltung von Blocken usw...Ich finde z.B. keine Bausteine zur Typenkonvertierung(Bsp: Int-->Real über ITD und DTR...
Bin eigentlich Student der Energietechnik und habe die Vorlesung als Zusatzfach à 4SWS leider ohne Labor/praktische Übung gehört. Nur viel Theorie bis jetzt!
habe mir einfache DDinge aus dem Buch geholt und konnte schon mit bool'schen Variablen gut spielen..
#

Wieso bruachst du einen eigenen Baustein zur Typkonvertierung?Kannst du ja genau so machen wie du geschrieben hast!

L mw100
itd
dtr
T md102...

Mfg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!
danke für die rasche Antwort. die Befehle zur Typkonvertieurung habe ich aus der theoretischen Vorlesung entnommen...
eine blöde Frage: wie du geschrieben hast oder wenn ich es gut verstanden habe: solche Befehle wie ITD, DTR usw kann man denn nicht in FUP darstellen?
ich muss mich schnell mit solchen Themen beschäftigen, da ich nur ein Rechner ausgeliehen habe, worauf die Lizenz noch ca. 3-4 Monate gültig ist.Danach habe ich keine Chance mehr irgendwelche praktische Übung zu machen.
danke!
 
Hallo

Doch kannst natürlich auch in FUP/KOP machen da musst aber immer ein zwischen ergebnis anlegen was bei awl entfällt.
Schau mal ob im Simatic Manager wenn du ein Fenster öffnest und auf "FUP" gestellt hast unter Ansicht->Übersicht eingeschaltet ist!
Wenn nein einschalten.Wenn ja siehst du bei den Übersichten im Ordner Umwandler alle möglichkeiten!
Mfg
 
Hallo!!!
ich komme nochmal kurz zum Thread.Hab mich am WE wieder mit dem Thema befasst...
zur Ermittlung der Füllstandsmenge habe ich einen Baustein S_Impuls angelegt aus dem ich die Zeit zwischen Ventil-öffnung und wieder schliessung(z.B. beim Erreichen des vollen Zustandes) berechnen kann. Die zeit bis zum max_fuellstand wird festgelegt. jetzt stosse ich an dieses Problem: wie kann man die S5Time in T
 
ich würde gerne wissen wie ich den "Ret_Value" Ausgang anschliessen soll. Also anders formuliert, was gebe ich da ein? T...?
Ret_Value von was? S_Impuls?
Ganz sicher kein T..., sondern ein INT oder ein Bool, zieh mal den Mauszeiger über den Ret_Value, dann wird dir angezeigt was verlangt wird.
 
Zurück
Oben