Wago 8202 Serielle Onboardschnitte RS232

WJM

Level-1
Beiträge
23
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag,

ich habe eine Wago 750-8202 Steuerung und möchte über die Onboardschnitte RS232 eine Verbindung zu einer Waage herstellen.
Kann ich diese Schnittstelle dafür verwenden, welche Bibliotheken sind dafür notwendig?
Welche Schnittstellen-Nummer wäre das, COM 0?

Gibt es für eine solche RS232 Kommunikation ein Beispiel Projekt wo dies etwas veranschaulicht ist.


Danke schon mal im voraus für eure Antworten.
 
ich hatte mal die Initialisierung einer seriellen SS hier im Forrum gepostet. Alles Weitere mußt Du selber lösen.

Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo WJM,

selbstverständlich ist die Onboard RS232 Schnittstelle auch zur Verwendung gedacht.
COM 0 ist der richtige Port. Welche Bibliothek du verwenden müsstest, hängt von der angestrebten Funktion (Protokoll ?) ab.
Zu beachten ist außerdem, dass du die Schnittstelle im Web-Based Management für die Verwendung durch die CoDeSys freigibst.
 
Danke für die Antwort. Gibt es vielleicht ne kleine Anleitung was alles gemacht werden muss? Um das überhaupt erst mal eine Kommunikation abgebaut werden kann.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

was mach ich falsch? Habe mir jetzt mal das Beispiel angeschaut und auf COM 0 angepasst.
Leider kommt bei übertragen auf die Steuerung immer Kommunikation Fehler (#0). Das übertragen anderer Programme klappt reibungslos.
Code füge ich ein:

PROGRAM PLC_PRG
VAR
(* Communicationparams for 750-65x/003-000 only*)
wBaudRate : WORD := 960;
bDataBits : BYTE := 7;
bParity : BYTE := 0;
bFlowControl : BYTE := 0;
i : INT;
(* COM0 ********************************************)
COM0 : SERIAL_INTERFACE;
xOpenPort0 : BOOL := TRUE;
xInitPort0 : BOOL;
xSendActive0 : BOOL;
SendString0 : STRING := 'Msg from COM0';
ReceiveBuffer0 : typRing_Buffer;
ReceiveBuffer0OldIndex : INT;
ReceiveString0 : STRING(255);
pReceiveStr0 : POINTER TO ARRAY[0..255] OF BYTE;
help0Idx : INT;
iTo2 : INT;
END_VAR


(*----------------------------------------------------------------------------
' WAGO Kontakttechnik GmbH | |
' Hansastr. 27 | Technical Support |
' D-32423 Minden | |
' Tel.: +49(0)571 / 887 - 0 | Tel.: +49(0)571 / 887 - 555 |
' Fax.: +49(0)571 / 887 - 169 | Fax.: +49(0)571 / 887 - 8555 |
' Mail: info@wago.com | Mail: support@wago.com |
' www : http://www.wago.com | |
'-----------------------------------------------------------------------------
' Copyright (C) WAGO 2001 - All Rights Reserved |
'-----------------------------------------------------------------------------
' Filename :
' Version : 1.00
' Date : 21-10-2002
'-----------------------------------------------------------------------------
' Description : Example for using functionblock: "SERIAL_INTERFACE" from the
' Library "Serial_Interface_01.lib".
' For additional information see application note "a110901"
' Communicationparams are only changeable for 750-65x/003-000
'-----------------------------------------------------------------------------
' Required : SerComm.lib
' Serial_Interface_01.lib
'-----------------------------------------------------------------------------
' |Date |Who |Ver |Changes
'-----------------------------------------------------------------------------
' 21.10.02 CM 1.00 Init
'----------------------------------------------------------------------------*)
(* Send and Receive for COM0 *)
COM0( bCOM_PORT_NR := 0,
cbBAUDRATE := wBaudRate,
cbsBYTESIZE := bDataBits,
cpPARITY := bParity,
csSTOPBITS := STOPBITS_1,
cfFLOW_CONTROL := bFlowControl,
utRECEIVE_BUFFER := ReceiveBuffer0,
ptSEND_BUFFER := ADR(SendString0),
xINIT := xInitPort0,
xOPEN_COM_PORT := xOpenPort0,
iBYTES_TO_SEND := LEN(SendString0) +1,
xSTART_SEND := xSendActive0 );

(* Display received data for COM0 *)
IF ReceiveBuffer0OldIndex <> ReceiveBuffer0.Index THEN
iTo2 := ReceiveBuffer0.Index - ReceiveBuffer0OldIndex -1;
IF iTo2 < 0 THEN
iTo2 := iTo2 + SIZEOF(ReceiveBuffer0.Data);
END_IF;
IF pReceiveStr0 = 0 THEN
pReceiveStr0 := ADR( ReceiveString0 );
END_IF;
FOR i:=0 TO iTo2 DO
help0Idx := (ReceiveBuffer0OldIndex + i) MOD (SIZEOF(ReceiveBuffer0.Data));
pReceiveStr0^ := ReceiveBuffer0.Data[ help0Idx ];
IF ReceiveBuffer0.Data[ help0Idx ] = 16#00 THEN
ReceiveBuffer0OldIndex := ReceiveBuffer0.Index;
END_IF;
END_FOR;
END_IF;


Zur Erinnerung möchte die RS232 Schnittstelle auf dem Controller 8202 benutzen, im Webinterface habe ich die nötigen Einstellungen gemacht.

Vielen Dank schön mal im voraus.

Mfg. WJM
 
Hallo WJM,

das Problem wird nicht am Funktionscode liegen, sondern in deinem Projekt.

Hast du unser Beipielprojekt genutzt und das Zielsystem geändert?
In dem Fall solltest du in der Steuerungskonfiguration den "Standard wiederherstellen".

Alternativ meldest du dich bei uns direkt, um das genauer zu analysieren.
 
Hallo,

habe die Standardkonfiguration wiederhergestellt und mein Zielsystem entsprechend eingestellt. Was wäre noch zu tun?
Habe eben gesehen das es Einstellungen in der Steuerungskonfiguration gibt "Modbus Master" müssen hier noch Sachen
eingestellt werden? Wenn ich die Controllerschnittstelle COM0 benutzen möchte?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielleicht zu simpel, aber hast du unter "Online - Kommunikationsparameter" die richtige IP eingestellt? Dort ist in den Anwendungsbeispielen sicherlich noch die von Wago eingestellte IP.
 
Hallo WJM,

so simpel hatte ich auch nicht gedacht. Wenn du die CoDeSys .47 nutzt und ein altes Beispielprojekt nutzt, lösch bitte einmal die Schnittstelle in den Kommunikationsparametern und lege diese neu an.
Bekommst du den Kommunikationsfehler direkt beim Einloggen, oder erst während des Programmuploads?
 
Hallo,

ich benutze die Codesys Version .47. Die Kommunikation Parameter habe ich checkt sind soweit I.O, habe ja auch schon andere Programme auf dem Controller laden können.

Der Fehler: "Kommunikation Fehler (#0)" kommt immer dann wenn ich Einloggen drücke, dann dauert es kurz wahrscheinlich probiert das Programm den Code auf den Controller zu übertragen und stellt dann irgend wie ein Fehler fest der im Zusammenhang mit der Schnittstelle stehen muss, und bricht dann den Vorgang ab. Beim übersetzten zeigt er Null Fehler an.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

habe eben noch einmal die Kommunikation Parameter gelöscht und neu angelegt jetzt geht's.

Nochmals vielen Dank für eure Unterstützung.

Mfg. WJM
 
Zurück
Oben