Mit SPS ein COM-Port vom PC ansteuern

Outrider

Level-1
Beiträge
745
Reaktionspunkte
5
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin,
ich soll mit einer SPS ein Signal an einen PC senden,
es soll über ein COM-Port geschehen, sprich 9polige Schnittstelle.
Ich weis nicht so recht wie, es muss sicherlich ein Pin die Spannung zur Verfügung stellen um dann über ein Relaiskontakt es auf ein anderes zu setzen.
Wer kann mir helfen
Gruß und Danke
 
Du willst also den COM-Port nicht zum Datenaustausch nutzen, sondern einzelne Signale setzen, oder wie ist das zu verstehen?

Mit Tricks konnte man zumindest bis Windows XP an der seriellen Schnittstelle so rumfummeln, dass man die Steuerleitungen setzen und lesen konnte. Ob das mit neueren Windows Versionen auch noch geht weiß ich nicht. Mit den USB/seriell Wandlern ist das zumindest äußerst problematisch, bei denen funktionieren solche Spielereien nicht mehr.
 
re

Der PC ist von einer Fremdfirma auf der läuft ein Programm ab das ich mit der SPS anstoßen soll.
Auf dem PC ist ein Etikettendrucker installiert, mit dem Triggersignal der SPS soll ein Etikett gedruckt werden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der PC ist von einer Fremdfirma auf der läuft ein Programm ab das ich mit der SPS anstoßen soll.
Auf dem PC ist ein Etikettendrucker installiert, mit dem Triggersignal der SPS soll ein Etikett gedruckt werden.

Für eine Bastelei ist sowas ja OK, aber für einen professionellen Einsatz Standardschnittstellen mit nicht-standard Signalen beschalten? Weiß ja nicht.
Ansonsten findet man in 10-15 Jahre alten Elektor-Heften Anleitungen dazu ;-) Brauchst eben noch entsprechende Pegelwandler (MAX232 o.Ä.).
Auf welche Signale spricht das Programm dieses Etikettendruckers denn an?

Ich persönlich würde die serielle Schnittstelle so nutzen wie sie vorgesehen ist. Wenn die SPS eine Ethernet-Schnittstelle hat, könnte man am PC z.B. einen Ethernet/RS232-Wandler vorsetzen.
 
Hab grad nochmal drüber nachgedacht.
Man könnte über ein ganz einfaches Relais die Signale von DTR (Pin 4) vom PC über ein Relais von der SPS zurück z.B. auf den Ring Indicator (Pin 9) schalten.
Meldet der PC empfangsbereit zieht er DTR auf + (Bereich 5..15V, bei meinem Laptop kommen schlappe 6V raus). Schaltet die SPS das Relais würde RI am PC gemeldet.

"Bei Anruf Druck" könnte man so sagen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mit einem Relais zwischen DTR und RI funktioniert. Man könnte auch noch DSR und CTS verwenden, dann hätte man 3 Signale zur Verfügung.
Je nachdem wie schnell diese Druckersoftware reagiert, muss man aber ein eventuelles prellen des Relais unterdrücken. Bei Hardware UARTs erzeugt ein Signalwechsel am RI imho einen Interrupt.

Mit python ist sowas auch schnell fertig ;-)
Code:
import serial
import time
import sys

s = serial.Serial('com1', 9600, timeout=1)
while 1:
	print "Status RI: ", s.getRI()
	sys.stdout.flush()
	time.sleep(1)
 
Zurück
Oben