TIA Rezept Laden mit Rezeptname

Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen,

Initialisieren solltest du vor deiner eigentlichen Logik würde hier zu einer eigenen Schleife tendieren.
Muss hier aber auch Mrtain zustimmen der Saubere weg ist Doppeleinträge nicht zu speichern, dein Merkmal mit der du eine Rezeptur lädst muss eindeutig sein.
 
Hallo
mein Code funktioniert, wie ich es mir vorgestellt habe.
Ich Danke euch für die Gedanken anstöße.

1. Leerzeichen in der Variablen habe ich ersetzt durch unterstrich.
2. Wenn ich Rezeptname 1 mal finde, dann bekomme ich die Rezeptnummer.
3. Wenn ich Rezeptname 0 mal finde, dann bekomme ich keine Rezeptnummer und eine Fehlermeldung 1
4. Wenn ich Rezeptname >1 mal finde, dann bekomme ich keine Rezeptnummer und eine Fehlermeldung 2
5. Wenn Rezeptnummer = 0 ist, dann kann das Rezept nicht geladen werden.
6. Rezeptname suche ich über eine SCL FOR-Schleife in einer Array Variable.

Jetzt bin ich noch am Otimieren
In TIA V18 habe ich im HMI das Element "EA-Feld"
Im "EA-Feld" gebe ich den Namen ein. Man muss die Eingabe ja mit ENTER bestätigen.
Jetzt zu Optimierung wie kriege ich mit das der Bediener im "EA-Feld" was eingetragen hat?
Ich möchte die Suchschleife Starten, wenn ein eintrag im "EA-Feld" erfolgt ist.
Wenn es immer was neues eingibt, bekomme ich es im SPS Program gelöst.
Wo ich grad nicht weiter weiss, wenn der Bediener zum zweiten mal den Namen eingibt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
evtl. daneben einen Knopf anbringen mitdem die Eingabe "eingelesen/initiiert" wird.

ODER

die letzte eingabe speichern und dan auf ungleichheit zur letzten eingabe vergleichen und wenn ein mal ungleich dann pulse dein durchlauf und übernehme wieder die aktuelle eingabe auf den vergleicher ....
 
zur Zeit geht es mir um eine elgante Lösung, um die Einträger zu löschen in einem Arry 1-10 of INT

Code:
IF #reset THEN
    FILL_BLK(IN := 0,
             COUNT := 9,
             OUT => #Array[1]);
    #reset := false;
END_IF;

weis nicht ob der code stimmt, hab grad kein TIA da, aber FILL_BLK ist für das Initialisieren eines Adressbereiches (z.B. Arrays) mit einem Startwert gedacht.
 
Zurück
Oben