Led Treiber llv20w12uni


Google-Suche auf MEINE-SCHALTUNG.de :





Online Rechner

Chronik

Dauerkalender


Verkaufsautomat

In einem Verkaufsautomat werden 16 Produkte zur Auswahl angeboten. Die Bedienung des Automaten ist einfach. Über ein Tastenfeld gibt man die Nummer des gewünschten Artikels (1-16) ein. Gleich, nachdem der gewünschte Geldbetrag bezahlt wurde, wird das entsprechende Artikelfach geöffnet und der Artikel kann herausgenommen werden.


Lösung:

Die Artikelnummer wird von der Eingabetastatur dualkodiert auf SPS-Eingänge (Byte 0) übergeben. Nr. 1 = Bit 0, Nr. 2 = Bit 1, Nr.3 = Bit 0+1 usw. Im Beispiel werden lediglich die ersten vier Bits verwendet. Die Freigabemagneten sind aufsteigend an die Ausgänge der SPS angeschlossen (Byte 0 + 1). Magnet Fach 1 = A0.0, Magnet Fach 2 = A0.1, Magnet Fach 3 = A0.2 usw.

Verkaufsautomat Eingaenge

Belegung der Eingänge

Verkaufsautomat Ausgänge

Belegung der Ausgänge

Verkaufsautomat Variablen

Variablen

Sobald die Tastatur mit dem Signal "Eingabe_abgeschlossen" die Eingabe einer Produktnummer meldet, wird der Variable "Produkt_Nummer" der aktuelle Wert des Bytes 0 zugeordnet. Nachdem der Artikel bezahlt wurde, was der Bezahlautomat mit dem Signal "Produkt_bezahlt" bestätigt, wird das entsprechende Fach geöffnet. Das Lesen und Beschreiben der Ein- und Ausgänge wird hier mit den Befehlen PEEK bzw. POKE realisiert.

Programm:

IF "Eingabe_abgeschlossen" THEN
#Produkt_Nummer := PEEK(area := 16#81, dbNumber := 0, byteOffset := 0);
END_IF;

IF "Produkt_bezahlt" THEN
IF #Produkt_Nummer > 0 THEN
#j := BYTE_TO_INT(#Produkt_Nummer) - 1;
#Value_int := 1;
#i := 0;
WHILE #j >= 1 AND #i < #j DO
#Value_int := #Value_int * 2;
#i += 1;
END_WHILE;
#Value := INT_TO_WORD(#Value_int);
#Value := SWAP(#Value);
POKE(area := 16#82,
dbNumber := 0,
byteOffset := 0,
value := #Value);
END_IF;
END_IF;


S7-Programmierung TIA-Portal (Übersicht):




Google-Suche auf MEINE-SCHALTUNG.de :


Home Impressum Datenschutz