SIMATIC S7-200
Serielle Kommunikation CPU224XP (Freeport)
Erstellt von Dom am 10.07.2008 14:44 (4 Antworten)

10.07.2008, 14:44
|
Beigetreten am: 28.08.2006
Letzter Besuch: 10.08.2010
Beiträge: 35
Bewertung:
(0)
|
(0)
|
Hallo, ich hab ein Problem mit der seriellen Kommunikation. Ich will eine CPU224XP mit einem externen Gerät kommunizieren lassen. Dazu benutze ich Port 1 zur PPI-Kommunikation und Port 0 im frei programmierbaren Modus. Und zwar soll von der CPU, getriggert über einen Eingang, ein Datenpaket mit 11Byte verschickt werden. Danach soll die CPU in den Empfangsmodus wechseln und eine Antwort mit maximal 255Byte zurückbekommen. Aus dem Systemhandbuch werde ich nicht wirklich schlau und ich habe immer nur Beispiele zum Empfangen gefunden. Leider habe ich auf das externe Gerät keinen Zugriff, sodass ich von dort aus nix senden kann um zu sehen, ob wenigstens der Empfang funktioniert... Die Diagnosemöglichkeiten sind ja ziemlich begrenzt, aber ich bekomme wenn ich nur über XMT etwas senden will die Meldung "Gleichzeitige Ausführung von XMT und RCV".. Vielleicht kann mir jemand von Euch helfen...
Gruß, Dom
|
|
|
|

21.07.2008, 10:09
|
Beigetreten am: 24.07.2006
Letzter Besuch: 19.06.2013
Beiträge: 1842
Bewertung:
(217)
|
(0)
|
Hallo,
das senden von ASCII ist relativ einfach. Hier ein Beispiel:
ASCII einstellen: LD SM0.1 movb 9,smb30 (Port 0 in ASCII, 9600,8,n,1) (Portaddressen: P0 = SMB30, P1 = SMB130)
Senden von Zeichen: ld sm0.5 (1/2 sek.-Takt) EU (pos. Flanke) XMT VB1000,0 (Senden von ASCII, die bei VB1000 beginnt. In VB1000 steht die Länge des Strings)
Im DB1 schreibst du die ASCII Zeichen z.B.
VB1000 17 (für 17 zu sendende Zeichen) VB1001 'Das ist ein Test!'
Ob das funktioniert kannst du mit Hyperterminal testen (Com-Port einstellen auf 9600, 8,n,1 HW Kein).
Jetzt müste in Hyperterminal alle Sekunde Das ist ein Test! dargestellt werden, ohne CR und LF.
Evtl. mußt du an der CPU nocht einen Busabschluß machen. Für die Verbindung mußt du das RS232 PC/PPI-Kabel verwenden mit dem USB gehts nicht.
Hoffe das hilft dir.
Gruss
Helmut
|
|
|
|

23.07.2008, 14:03
|
Beigetreten am: 28.08.2006
Letzter Besuch: 10.08.2010
Beiträge: 35
Bewertung:
(0)
|
(0)
|
Hallo, zuerst schon mal 1000Dank für die Hilfe Hemut! Ich konnte mit dem Test über das HyperTerminal zumindest schon mal sicherstellen, dass mein SPS-Programm korrekt funktioniert. Die Kommunikation mit dem eigentlichen Gerät klappt aber immer noch nicht. Das mag daran liegen, das es über RS485 angesprochen wird, ohne irgendwelche Schnittstellenkonverter. Ich hab jetzt im Verdacht, dass irgendwas mit dem Zeichenformat oder sogar mit den Abschlusswiderständen nicht stimmt....
Gruß, Dom
|
|
|
|

23.07.2008, 15:38
|
Beigetreten am: 24.07.2006
Letzter Besuch: 19.06.2013
Beiträge: 1842
Bewertung:
(217)
|
(0)
|
Hi,
hast den dein Gerät eine RS485 Schnittstelle?
g. helmut
|
|
|
|

23.07.2008, 16:28
|
Beigetreten am: 28.08.2006
Letzter Besuch: 10.08.2010
Beiträge: 35
Bewertung:
(0)
|
(0)
|
Hi, ja klar - hier mal ein Auszug aus dem Manual:
"Die RS485-Schnittstelle ist entsprechend dem Standard als DB9-Buchse ausgeführt. Die physikalische Übertragung entspricht der Norm ITU V.11 und dem ANSI Standard EIA/TIA-422B. Die Pins 1+2 [B] und 7+8 [A] sind jeweils auf der Anschaltbaugruppe verbunden (gebrückt). Damit ist ein einfaches konfektionieren der Verdrahtung möglich. Der notwendige Abschlußwiderstand (R_TERM) von 150 Ohm im letzten Busteilnehmer eines Netzwerkstranges muß durch eine Brücke von Klemme X341-4 nach X341-8 angeschaltet werden. Die Pins GND und + 5V sollte nur bei Verwendung des optionalen Schnittstellenumsetzers ADA-VC-1 RS232 <> RS485 in der Verdrahtung berücksichtigt werden. Die Versorgungsspannung der Schnittstelle ist nicht für die Versorgung externer Baugruppen geeignet."
Die Brücke für den Abschlusswiderstand habe ich drin. An der SPS nehme ich den Standard-Profibus Connector mit aktiviertem Abschlusswiderstand.
Dom
|
|
|
|
Aktionen