top of page
  • AutorenbildCurschmann

15.12.2020

Mein Plan für heute war es mich nochmal an das HMI zu setzen, weil ich mit der vorhanden Version unzufrieden bin. Bearbeiten wollte ich zum einen:

1. Den Schieberegler für den Salzanteil in der Gewürzmischung.

2. Die Schalter für die Auswahl des Produktes.



Das aktuelle Design für das HMI sieht wie folgt aus:


1. Ich habe die Wahlschalter durch ein Bestätigungsfeld ersetzt. Da die Anlage sowieso eine Bestellung nach der anderen abarbeiten kann.


2. Ich habe den Button Bestellung abschicken ebenfalls ausgetauscht, um eine bessere Erkennbarkeit zu erreichen. Das Häkchen im Feld zeigt jetzt an, dass die Bestellung abgeschickt wurde.


3. Ich habe den Schieberegler des Salzanteils durch ein Eingabefeld ausgetauscht das es jetzt ermöglicht Prozent genau den Salzanteil einzustellen. Des Weiteren habe das Programm so abgeändert, dass man nicht mehr die Gewürzmischung separat bestellt, sondern man wählt eine Portion Pfeffer aus und fügt dann den gewünschten Salzanteil hinzu.


4. Ebenfalls habe ich einen Button hinzugefügt der es dem Nutzer ermöglicht zurück ins Hauptmenü zu springen.


5. Auf der Startseite habe ich einen Button hinzugefügt der auf unsere Webseite verweist.

Bei meinen Arbeiten am HMI bin ich auf zwei Probleme gestoßen:


1. Die vom HMI erzeugten Variablen, AnzahlSalz, AnzahlPfeffer, AnzahlPfeife und Bestellung, werden nicht an die zugehörigen POE`s übermittelt.


2. Die Variable Gewuerz_Mischung wird ebenfalls nicht übermittelt.


Fehler Nummer 1 war recht einfach zu beheben. Ich hatte vergessen den POE Variablen das passende HMI Tag zuzuweisen. Deshalb wurden die Daten nicht vom HMI übermittelt.

Fehler Nummer 2 war da schon, um einiges schwerer zu beheben. Das Problem ist, dass das HMI keine Variablen des Typen Byte erzeugen kann.


Das HMI kann lediglich Daten des Typen BOOL, DWORD, INT, LDATE_AND_TIME, LREAL und String erstellen.

Leider besteht ein Großteil unserer Variablen aus dem Typen Byte und auch das von unserem HMI zu erzeugendem Mischungsverhältnis der Gewürzmischung ist vom Typen Byte. Jetzt hatte ich drei Möglichkeiten:

1. Das Programm erneut komplett umschreiben, sodass wir mit Variablen des Typen INT arbeiten können.

2. Eine Möglichkeit finden, wie ich die vom HMI erzeugte INT Variable in eine Variable des Typen Byte umwandeln kann.

3. Die Gewürzmischung erstmal gänzlich entfernen.

Das Umschreiben des Programmcodes wäre viel zu aufwändig und das Herausnehmen der Gewürzmischung wollte ich auch nicht. Eine Recherche ergab, dass es in Engineer zwei Bausteine gibt mit den Namen INT_to_Buf und BUF_to_Byte. Diese beiden Bausteine sollten es mir ermöglichen Die vom HMI erzeugte Variable Gewuerz_Mischung_INT zunächst in einen Speicher zu kopieren um sie anschließend aus dem Speicher in eine neue Variable, Gewuerz_Mischung, vom Typen Byte zu laden.


Nach einigem hin und her probieren hat das Ganze dann auch funktioniert.





10 Ansichten0 Kommentare

Aktuelle Beiträge

Alle ansehen

23.11.2020

03.11.2020

26.10.2020

Beitrag: Blog2 Post
bottom of page