Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Moin,
ich habe aktuell ein Array Problem.
Als erstes, ich kann das *.vi leider nicht hochladen da es auf einem anderen Rechner ist, auf den ich aus dem Büro nur bedingten Zugriff habe.
Wenn gewünscht kann ich einen Screenshot machen.
Es geht um eine sogenannte Pumpstation, diese pumpt Maiscelage in einen Fermenter.
Die Pumpstation hat einen Hand- und einen Automatikbetrieb.
Im Automatikbetrieb werden vom Benutzer Startzeit, Volumen, Intervalle und von wo nach wo gepumpt werden soll vorgegeben.
Der Pumpweg (also von wo nach wo gepumpt werden soll), beinhaltet das zwei pneumatische Schieber den Befehl bekommen den jeweiligen Schieber zu öffnen,
sind die Schieber offen wird der Pumpvorgang gestartet.
Der Pumpweg wird im *.vi berechnet und dann an die SPS übergeben. Wenn ich mir das *.vi anschaue kann ich sehen das ein Wert für den Pumpweg berechnet wird,
jedoch wird dieser Wert nicht in das Array geschrieben. Bisher konnte ich noch nicht herausfinden wo der Wert hinkommt.
Gibt es eine Möglichkeit wie ich herausfinden kann wo der Wert landet?
Ich habe, da dieser Pumpbetrieb verstärkt Probleme bereitet hat, die zugehörigen Bausteine (inklusive Datenbaustein) aus der SPS neu aufgeladen.
Da aber bis auf den Pumpweg alles übernommen wird was der Benutzer vorgibt, bin ich so langsam mit meinem Latein am Ende!
Ich hoffe irgendjemand hat mein Problem verstanden!
So, ich habe mal zwei Screenshots gemacht, in der Hoffnnung das dann besser Verständlich ist.
Im Frontpanel (VI_Auszug2) gibt es ein Dropdown Menu wo man auswählen kann von wo nach wo gepumpt werden soll.
Im Auszug vom Blockdiagramm (VI_Auszug) ist die Berechnung für den Pumpweg dargestellt.
Bist du sicher, dass alle Eingangs-Arrays
für die For-Schleife "nicht-leer" sind?
Wenn nur eines leer ist, dann wird die For-Schleife Null-mal durchgeführt.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Wenn die For-Schleife leer wäre würden ja auch die Startzeit, die Intervalle, das Sollvolumen und Aktiv/Inaktiv nicht in die jeweilige Variable geschrieben werden.
Und wenn ich das *.vi beobachte sehe ich auch das für den Pumpweg ein Wert berechnet wird, dieser dann auch an der Variable steht, ich aber im DSM keinen Wert dafür wiederfinde.
Das bedeutet das der Wert irgendwo anders hingeschrieben wird, kein Plan wo, oder der Wert verloren geht!?!?!?!?!
Ach so, jetzt verstehe ich. Ist normal. Wenn eine Shared Variable ein Array enthält, dann wird im DSM grundsätzlich nichts angezeigt.
Lies sie mal aus, dann siehst du, dass da trotzdem was drinnen steht.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Sorry die vielleicht jetzt ein wenig "doofe" Frage, aber wie lese ich die denn aus?
Habe bisher die Werte immer im DSM oder im OPC bzw. SPS mir angeschaut.
OPC ist ein wenig schwierig, da das ganze auf einem Server läuft und der OPC Server da als Dienst im Hintergrunf läuft und
in der SPS kommen keine Daten an!
Schwer ist das ja anscheinend nicht, stand nur ein wenig aufm Schlauch da ich bei diesem Problem schon den Wald vor lauter Bäumen nicht mehr sehe.
Das Programm wurde nicht von mir programmiert und ist sehr schwer zu durchdringen und bevor ich irgendwas umprogrammiere muss ich erstmal verstehen was da überhaupt alles wann passieren soll.
So ich habe inzwischen den Test durchgeführt.
"Neues VI öffnen, zieh die Shared Variable im "Lesen"-Modus rein, erstelle einen Indicator im FP und dann anschauen."