Step 7 UART Kaffeemaschine

User

Level-1
Beiträge
31
Reaktionspunkte
4
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

wir erwägen aktuell unsere Kaffeemaschine per S7 zu steuern.
Wahlweise eine S7-300 oder S7-1500.
Problem ist eher gibt es hierzu kompatible Kommunikationsbaugruppen?
Ich bin nur ein halber Mikrocontrollerexperte, aber ich glaube ich habe hier weder RS232, noch RS485, sondern einfach rudimentäres UART mit folgenden bekannten Parametern:
  • Spannungspegel: 5V (TTL)
  • Baudrate: 9600 Bit/s
  • Rahmenpaketierung: 8 Bit
  • Prüfbit: Nein
  • Stoppbits: 1
Die Frage ist nun wüsste zufällig jemand ob das irgendeine S7 Kommunikationsbaugruppe sprechen kann?

MfG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi zusammen,
vielen dank schon mal für eure schnellen Rückmeldungen.

Das Kommunikationsprotokoll kennst du?
Bei den meisten Kaffeevollautomaten ist es eine reine Serviceschnittstelle.
Es gibt ein paar gewerbliche Maschinen mit Kommunikation zu Bezahlsystemen.
Ja, ist soweit (ausreichend) bekannt.

Das kannst du mit dem CP340 oder mit dem CP341 machen.
Das würde 6 Baugruppen bezeichnen:
CP 340 Kommunikationsprozessor mit RS232C-Schnittstelle
CP 340 Kommunikationsprozessor mit 20mA-Schnittstelle (TTY)
CP 340 Kommunikationsprozessor mit RS-422/485-Schnittstelle
CP 341 Kommunikationsprozessor mit RS-232C-Schnittstelle
CP 341 Kommunikationsprozessor mit 20mA-Schnittstelle (TTY)
CP 341 Kommunikationsprozessor mit RS-422/485-Schnittstelle

Ich vermute mal da die TTY Baugruppen strombasiert ist, wird das auf jeden Fall schon mal das falsche sein.
Der Unterschied zwischen CP340 & CP341 scheint wohl nur die Leistungsfähigkeit.
Dann bleiben im Endeffekt 2 Varianten übrig, die RS232 & die RS485 Baugruppen.
RS232 benötigt die Steuersignale DCD, DTR, DSR, RTS, RTR, CTS und RI... die habe ich nicht, daher wahrscheinlich auch die falsche.

RS485... wäre möglicherweise kompatibel zu einem einfachen 2-wire UART?
Ich habe nur 2 Drähte Rx und Tx (und natürlich GND), nach etwas Recherche könnte das RS485 unterstützen?

Achtung! Die CP340 und CP341 gibt es nicht mit TTL-Schnittstelle, sondern nur mit RS232, RS422/485 und 20mA-TTY. Du bräuchtest einen Pegelwandler zu TTL.
Dann hätte ich nur noch das Problem...

EDIT: Nach dem Dokument:
Kap. 2.8 X27 (RS 422/485)–Schnittstelle, Seite 90 arbeitet die Baugruppe mit 5V.
@PN/DP bist du sicher dass ich einen Spannungswandler benötige?
 
Zuletzt bearbeitet:
Ich habe nur 2 Drähte Rx und Tx (und natürlich GND)
Dann wäre am einfachsten RS232. Pegelumsetzung TTL zu RS232 ist völlig transparent und voll-Duplex und Du brauchst keine Sende/Empfang-Umschaltung. Pegelwandler kann man einfach mit MAX232 o.Ä. basteln, gibt es aber noch viel günstiger fertig zu kaufen (z.B. 5er Pack für knapp 4 EUR).

Geeignete CP34x für RS232 gibt es gebraucht für weniger als 50 EUR:
6ES7340-1AH01-0AE0
6ES7340-1AH02-0AE0
6ES7341-1AH01-0AE0
6ES7341-1AH02-0AE0
Die kann man auch mit nur RX,TX,GND mit der RS232 des Partners verbinden. Die RS232-Steuersignale braucht man nicht.

Ist das ein Bastel/Experimentier-Projekt oder muß es eine industrielle Lösung (ggf. mit Gewährleistung) sein?

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
RS485... wäre möglicherweise kompatibel zu einem einfachen 2-wire UART?
Ich habe nur 2 Drähte Rx und Tx (und natürlich GND), nach etwas Recherche könnte das RS485 unterstützen?

RS485 klingt ähnlich, funktioniert aber ganz anders. Du hast bspw. bei RS485 kein Rx und Tx, sondern ein Signal und dessen Invertierung auf den beiden Leitungen, um die Spannungsdifferenzen zu erzeugen, mit denen die Bits ausgesteuert werden.
 
Hallo nochmals,

vielen dank für eure zahlreichen und hilfreichen Rückmeldungen.
Ich denke ich kann diesen Thread nun als gelöst schließen.

Zusammengefasst:
Um eine UART Kommunikation mit einer S7 aufzubauen benötigt man eine / -n RS232 Kommunikationsbaugruppe / -prozessor, welche SIEMENS im Portfolio hat.
Zusätzlich noch einen Spannungswandler auf den passenden Spannungspegel des UART Partners.

Da nun UART nur eine Untermenge des RS232 Standards ist, sind wohl diverse Dinge in den Baugruppenparametern spezifisch zu setzen / abzuwählen und möglicherweise weitere nicht verwendete RS232 Steuersignale elektrisch zu brücken.
Anschließend kann man durch die üblichen Systemfunktionen Daten senden & empfangen und das hoffentlich auch ohne weiteren Overhead / Handshake o.Ä. in den Daten.


Die kann man auch mit nur RX,TX,GND mit der RS232 des Partners verbinden. Die RS232-Steuersignale braucht man nicht.
Ist das tatsächlich so einfach? Ich vermute mal man muss in den CP34x Baugruppe mindestens mal einige Parameter korrekt setzen um die restlichen Steuersignale nicht zu verwenden? Und / oder diese auch noch divers elektrisch brücken?

Ist das ein Bastel/Experimentier-Projekt oder muß es eine industrielle Lösung (ggf. mit Gewährleistung) sein?
Ersteres natürlich.

Du hast bspw. bei RS485 kein Rx und Tx, sondern ein Signal und dessen Invertierung auf den beiden Leitungen, um die Spannungsdifferenzen zu erzeugen
Stimmt... da war was.


Wir haben uns aber nun aufgrund der wohl deutlich einfacheren Umsetzung für eine PC-basierte Lösung entschieden.
Daher kann ich euch nicht das Ergebnis dieses Szenarios mitteilen, nur sagen "theoretisch" gelöst.

Einfache UART USB Adapter mit konfigurierbaren Spannungspegeln gibt es schon für wenig Geld.
Diese stellen einen virtuellen COM Port zur seriellen Kommunikation zur Verfügung.
Dieser COM Port lässt sich anschließend einfach per C# / C++ / Java / ... ansprechen und verwenden.
Wir haben noch ein SIEMENS HMI Touch Panel PC rumliegen, so ein USB Adapter dazu und fertig.

MfG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Da nun UART nur eine Untermenge des RS232 Standards ist, ...
Für mein Verständnis war ein UART (Universal Asynchronous Receiver Transmitter) bisher immer ein Stückchen Hardware, das die angelieferten Bytes serialisiert und dann z.B. an einer RS232-Schnittstelle ausgegeben/gesendet hat, aber auch in umgekehrter Richtung, die empfangenen Bits zu Bytes zusammengefasst hat.
Man musste noch auswählen, wieviele DatenBits (7 oder 8 *) der Bytes berücksichtigt werden und, ob noch ein ParityBit und was für eins (odd oder even) hinzugefügt werden soll und wie schnell die Bits auf der seriellen Leitung aufeinander folgen sollen (BaudRate). Und StoppBits wurden auch noch eingestreut.
Auf die Steuersignale kann man z.T. verzichten, wenn Empfänger und Sender mit XON/XOFF arbeiten können und man auf beiden Seiten die Verwendung derselben Zeichen für XON und derselben Zeichen für XOFF vorgibt.

*):
Für Fernschreiber, (die mit den 5-kanaligen Lochstreifen) durften es auch mal 5 Bits sein.
 
Zuletzt bearbeitet:
Muss ja umgekehrt sein, oder?
UART ist allgemein, RS232 ein definiertes Interface (Stecker, Pegel, ...).
Umgekehrt oder nicht, ich sehe ein UART als Mittel zum Zweck, eine serielle Schnittstelle (z.B. RS232) zu realisieren, wobei das "Protokoll", die Definition der SteuerZeichen, der SignalPegel, der StoppBits, der SteuerLeitungen, der Stecker- und SteckerBelegungs-Varianten, etc. sicherlich dem Interface, wie Du es nennst, zuzuordnen sind und nicht dem UART. Ein UART kann so gut wie gar nichts und ist deshalb so gut wie universell einsetzbar. Mit u.a. der Folge, dass man z.B. oft 8 DatenBits + Paritiy zwar parametrieren, diese "BetriebsArt" aber gar nicht umgesetzt werden konnte, weil 8 DatenBits + 1 ParityBit eben 9 Bits sind und die "nackten" UARTs damit überfordert waren.
Ein UART ist aber schon mal eine brauchbare Basis, um mit "drum herum" (Hardware+Software) daraus z.B. eine RS232-Schnittstelle zu basteln.
 
Zurück
Oben