Hallo
Ich möchte den Füllstand eines Behälters visualisieren. Dazu habe ich mehrere Bilder, die unterschiedliche Füllstände darstellen. Ich lese den Füllstand über meine Vipa-SPS aus und speichere ihn in einer Variable.
Jetzt möchte ich gerne sowohl im Webfront als auch IPSView den Füllstand anzeigen.
Je nach Wert in der Variable, soll auf das passende Bild gewechselt werden.
Da ich kein PHP-Profi bin, steh ich etwas auf dem Schlauch.
Könnt ihr mir eventuell ein paar Ansätze vrreaten, wie das realisieren kann?
Bei IPSView ist das ganz einfach mit einem Association Image zu lösen. Einfach die verschiedenen Wert-Bereiche auswählen und das passende Bild zuweisen.
Bei IPS hast du verschiedene Möglichkeiten. Ich würde eine HTML-Variable machen, wo je nach Füllstand der HTML-Code für das entsprechende Bild rein geschrieben wird.
Alternativ könntest du mit IPS_SetHidden arbeiten und jeweils nur das richtige Bild anzeigen lassen. Oder auch mit IPS_SetMediaFile das Bild jeweils austauschen.
Aber beim HTML kannste noch weitere „Spielereien“ einfacher realisieren Bzgl. HTML in einer Variable gibt es im Forum viele Beispiele.
Danke Chris für deine Hilfe. Ich hab als erstes mal deinen Vorschlag mit IPSView versucht umzusetzen. Sobald ich zwei oder drei Bilder zu den Association Image hinzugefügt habe, bekomme ich die folgende Fehlermeldung:
Informationen über das Aufrufen von JIT-Debuggen
anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.
************** Ausnahmetext **************
System.OutOfMemoryException: Nicht genügend Arbeitsspeicher.
bei IPSLib.Utils.IPSImageUtils.String2Image(String base64, Boolean ignoreError)
bei IPSLib.DataModel.IPSImageHost.GetImage(Int32 imageHash)
bei IPSViewDesigner.Controls.IPSAssociationImage.AdaptSizeAndSetBaseImage(Boolean adaptSize)
bei IPSViewDesigner.Controls.IPSAssociationImage.AssociationsChanged(Object sender, NotifyCollectionChangedEventArgs args)
bei System.Collections.ObjectModel.ObservableCollection1.OnCollectionChanged(NotifyCollectionChangedEventArgs e) bei System.Collections.ObjectModel.ObservableCollection1.InsertItem(Int32 index, T item)
bei System.Collections.ObjectModel.Collection1.Add(T item) bei System.Collections.ObjectModel.Collection1.System.Collections.IList.Add(Object value)
bei qzniiabWoVLYqHNwJgZzppsyZEkB.bAwSYiPVVqEAtGuLSHSqyBalCvcJ(IList )
bei IPSLib.Components.IPSPropertyGridControl.ShowAssociationCollectionEditor(Object sender, ButtonPressedEventArgs e)
bei DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit.RaiseButtonClick(ButtonPressedEventArgs e)
bei DevExpress.XtraEditors.ButtonEdit.OnClickButton(EditorButtonObjectInfoArgs buttonInfo)
bei DevExpress.XtraEditors.ButtonEdit.OnMouseUp(MouseEventArgs e)
bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei DevExpress.Utils.Controls.ControlBase.WndProc(Message& m)
bei DevExpress.XtraEditors.TextEdit.WndProc(Message& msg)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
System.Windows.Forms
Assembly-Version: 4.0.0.0.
Win32-Version: 4.7.2556.0 built by: NET471REL1.
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll.
System
Assembly-Version: 4.0.0.0.
Win32-Version: 4.7.2556.0 built by: NET471REL1.
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll.
System.Drawing
Assembly-Version: 4.0.0.0.
Win32-Version: 4.7.2556.0 built by: NET471REL1.
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll.
System.Design.resources
Assembly-Version: 4.0.0.0.
Win32-Version: 4.7.2556.0 built by: NET471REL1.
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Design.resources/v4.0_4.0.0.0_de_b03f5f7f11d50a3a/System.Design.resources.dll.
System.Drawing.resources
Assembly-Version: 4.0.0.0.
Win32-Version: 4.7.2556.0 built by: NET471REL1.
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing.resources/v4.0_4.0.0.0_de_b03f5f7f11d50a3a/System.Drawing.resources.dll.
************** JIT-Debuggen **************
Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der
Konfigurationsdatei der Anwendung oder des Computers
(machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden.
Die Anwendung muss mit aktiviertem Debuggen kompiliert werden.
Wenn das JIT-Debuggen aktiviert ist, werden alle nicht behandelten
Ausnahmen an den JIT-Debugger gesendet, der auf dem
Computer registriert ist, und nicht in diesem Dialogfeld behandelt.
Nicht genügend RAM? Auf dem PC wo IPSView läuft hab ich 16GB und auf dem IPS-Server 4GB. Was soll da nicht reichen?
Der Beitrag ist im IPSStudio-Forum wahrscheinlich besser aufgehoben, dann bitte dort hin verschieben!
Den Fehler im IPSView müsste sich @Brownson mal anschauen, da kann ich dir nicht weiterhelfen. Ich selbst habe an einigen Stellen Association Images verwendet, habe aber schon länger nichts mehr am IPSView gemacht.