Modbus RTU (RS485)

JPO

Level-2
Beiträge
52
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe Forenmitglieder

Ich stehe vor einem Problem und hoffe, dass ihr mir dabei helfen könnt. Ich arbeite mit einer Wago SPS 750-8102 und versuche, über die serielle Schnittstelle (RS485) einen Temperaturfühler auszulesen. Leider habe ich Schwierigkeiten, eine Verbindung herzustellen, und ich hoffe, ihr könnt mir dabei helfen, das Problem zu lösen.

Hier sind die Details meiner Situation:
  • SPS-Modell: Wago 750-8102
  • Kommunikationsschnittstelle: Serielle RS485-Schnittstelle
  • Verwendete Pins: Pin 3 (D1 / A) und Pin 8 (D0 / B) des Steckers
Problem: Obwohl ich die Pins 3 und 8 für die RS485-Kommunikation verwendet habe, kann ich keine Verbindung zum Fühler herstellen, um die Temperaturdaten auszulesen.



Vielen Dank im Voraus für eure Hilfe und Unterstützung!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mit welchem Programmbaustein in welcher Version versuchst Du den Fühler auszulesen? Wird der Baustein aufgerufen? Gibt der Baustein einen Fehlerstatus/Fehlernummer aus?
Oder verwendest Du eine Lösung, wo die Modbusgeräte nur parametriert werden und die SPS kümmert sich selber um die Kommunikation?
Hast Du an dem Baustein die am Gerät eingestellte RS485-Busadresse korrekt angegeben?
Kann der Temperaturfühler überhaupt Modbus bzw. ist er auf Modbus eingestellt?
Stimmen die am Temperaturfühler eingestellten Busparameter (Baudrate, Parität, ...) mit der Einstellung der RS485-Schnittstelle an der Wago-SPS überein?
Gibt es an der SPS und am Temperaturfühler Bus-Aktivitäts-LEDs (RX.., TX..)? Flackern die? Wie genau?
 
Mit welchem Programmbaustein in welcher Version versuchst Du den Fühler auszulesen? Wird der Baustein aufgerufen? Gibt der Baustein einen Fehlerstatus/Fehlernummer aus?
Oder verwendest Du eine Lösung, wo die Modbusgeräte nur parametriert werden und die SPS kümmert sich selber um die Kommunikation?
Hast Du an dem Baustein die am Gerät eingestellte RS485-Busadresse korrekt angegeben?
Kann der Temperaturfühler überhaupt Modbus bzw. ist er auf Modbus eingestellt?
Stimmen die am Temperaturfühler eingestellten Busparameter (Baudrate, Parität, ...) mit der Einstellung der RS485-Schnittstelle an der Wago-SPS überein?
Gibt es an der SPS und am Temperaturfühler Bus-Aktivitäts-LEDs (RX.., TX..)? Flackern die? Wie genau?
Ich habe im Produktkatalog die Option "Sonstige Kommunikationsteilnehmer/ModbusRTU/WAGo/Generic_Modbus_Slave" ausgewählt und sie in die Netzwerkansicht gezogen. Nachdem ich sie erfolgreich mit meiner SPS verbunden hatte, habe ich alle erforderlichen Parameter entsprechend eingestellt.

Danach bin ich zum Konfigurator gegangen, um die Variablen zu deklarieren, die ich auslesen möchte. Ich habe sie auf die Master-Seite gezogen und anschließend den Download durchgeführt.
 
Mit welchem Programmbaustein in welcher Version versuchst Du den Fühler auszulesen? Wird der Baustein aufgerufen? Gibt der Baustein einen Fehlerstatus/Fehlernummer aus?
Oder verwendest Du eine Lösung, wo die Modbusgeräte nur parametriert werden und die SPS kümmert sich selber um die Kommunikation?
Hast Du an dem Baustein die am Gerät eingestellte RS485-Busadresse korrekt angegeben?
Kann der Temperaturfühler überhaupt Modbus bzw. ist er auf Modbus eingestellt?
Stimmen die am Temperaturfühler eingestellten Busparameter (Baudrate, Parität, ...) mit der Einstellung der RS485-Schnittstelle an der Wago-SPS überein?
Gibt es an der SPS und am Temperaturfühler Bus-Aktivitäts-LEDs (RX.., TX..)? Flackern die? Wie genau?
Ich habe im Produktkatalog die Option "Sonstige Kommunikationsteilnehmer/ModbusRTU/WAGo/Generic_Modbus_Slave" ausgewählt und sie in die Netzwerkansicht gezogen. Nachdem ich sie erfolgreich mit meiner SPS verbunden hatte, habe ich alle erforderlichen Parameter entsprechend eingestellt.

Danach bin ich zum Konfigurator gegangen, um die Variablen zu deklarieren, die ich auslesen möchte. Ich habe sie auf die Master-Seite gezogen und anschließend den Download durchgeführt.
 
OK, jetzt hast Du 2 von 10 Fragen-Komplexen von Plan_B und mir beantwortet. Hast Du die anderen 8 Fragen gecheckt?
A/B wurde schon getauscht und Abschlusswiderstände werden auch verwendet. Da ich den selben Fühler mit einem Compact Controller 100 auslesen kann, denke ich, dass die Parametrierung korrekt ist. Ich verwende e Cockpit Version 1.11.2.0.

Ich verwende keinen Baustein, welcher ich aufrufe (Ich denke hier liegt der Fehler). Ich habe lediglich den WAGO Generic__Modbus_Slave Block in die Netzwerkansicht gezogen und parametriert.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Kommt drauf an, wie das Wago-Konfigurationstool aussieht. Ich kenne das Tool nicht. Ein Bild wäre vermutlich hilfreich.
Die SPS muß der Modbus-Master sein. Der Temperaturfühler muß Modbus-Slave sein.
 
Ich gehe Mal stark davon aus, dass der Sensor ein Modbus RTU Slave ist. Für den hast du richtigerweise in der Netzwerkansicht einen generischen Modbus Slave angelegt und die erforderlichen Register/Variablen definiert. Dann fehlt noch die Verbindung zum Controller (Linie in der Netzwerkansicht zum Controller). Anschließend den Konfigurator öffnen und die für den Slave verfügbaren Variablen übernehmen. Im Programm des Masters können die Variablen dann als globale Variablen verwendet werden.
Wenn es nicht klappt empfehle ich einen Blick in die Diagnose. Siehe: https://techdocs.wago.com/Software/Modbus/de-DE/index.html#449149963
In den aller meisten Fällen dürfte es bei serieller Kommunikation aber an der Verdrahtung scheitern. Also Widerstände prüfen und A/B prüfen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Beim verwenden der Seriellen Onboard Schnittstelle für Modbus RTU, hat sich für mich die Verwendung eines Profibus Steckers bewährt. Da ist der Abschlusswiderstand schon gleich mit enthalten. Zusätzlich noch die Pull up und Pull down Widerstände. Und die machen es scheinbar rund. Hatte ab dann keine Probleme mehr mit den Verbindungen (sieht man mal davon ab, dass man gelegentlich doch mal A und B tauschen muss).
 
Ja, der 750-960 geht gut. Es soll demnächst aber auch ein Nachfolger zu 750-652 kommen (750-1652 ?) und die hat dann auch endlich einen per Software zuschaltbaren Abschlusswiderstand und BIAS-Netzwerk.
 
Besten Dank für eure Antworten.
Ich denke es liegt am Stecker oder an der Verkabelung, weil ich habe zum testen ein normales Kabel genommen und an der einen Seite abgeschnitten und das Gegenstück an der SPS (Bild Nr.15) eingesteckt. Anschliessend an den beiden Drähten (Pin 3 und 8) den Fühler angeschlossen. Der Fühler hat einen Endwiderstand und der Stecker in dem Fall nicht.
Kann es sein, dass der CC 100 intern über einen Endwiderstand verfügt? Weil mit dem CC100 Funktioniert es ohne Probleme (hier natürlich direkt angeschlossen ohne Stecker).
 

Anhänge

  • Screenshot 2023-08-29 074423.png
    Screenshot 2023-08-29 074423.png
    35,2 KB · Aufrufe: 4
Zuviel Werbung?
-> Hier kostenlos registrieren
Der CC100 hat neben Abschlusswdst. sogar ein internes BIAS-Netzwerk - kuckst Du Handbuch S. 32. Der PFC hat keine internen Widerstände. Deshalb ja auch die Empfehlung für den Stecker 750-960 ;)
 
Zurück
Oben