Modbus Slave??

Tiger30

Level-1
Beiträge
65
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo
auf Wago-Internetseite ist das Beispiel: Realisierung eines Modbus Masters mit dem Wago-I/O-System zu finden. Dieses Beispiel möchte ich bei mir aufm Rechner Testen
Die Hardware dafür habe ich schon:
-Feldbuscontroller:Wago 750-841
-serielles Interface:750-650
-Endbusklemme
In der Beschreibung sollte einen Datenaustausch zwischen die srielle Schnittstelle und einen Modbus Slave
Meine Frage: was kann ich unter Modbus Slave verstehen? bzw was kann ich nehemn damit ich dieses Beispiel bei mir testen kann

mfg
T.
 
Hallo Tiger30,
na dann verstehe ich deine Frage wohl nicht.
Hier steht wie der Modbus arbeitet und sogar wie das Telegramm aufgebaut ist der Vorteil bei dem Modbus ist das du jedes Byte sehen und auch überprüfen kannst: http://de.wikipedia.org/wiki/Modbus

Hier kannst du ein Slave Simulator downloaden: http://www.simplymodbus.ca/RTUslave.htm

So willst du nun auch noch wissen wie du deine serielle Schnittstelle mit deinem Wago 750-650 Klemmen verbinden mußt, oder kannst du das in deiner Wago Doku selber nachlesen?.

Bitte sei mir nicht böse aber ich unterstelle Dir mal mangelnde Recherche im Netz, da es wohl keinen Bus gibt der so einfach, offen und so zahlreich im Netz beschrieben ist wie der ModBus.

schöne Grüße
Michael
 
Hallo Michael,
Danke für deine Antwort.
Der Slave Simulator habe ich jetzt runtergeladen.
Wenn ich jetzt die schnittstelle von meinem PC mit dem wago serielles Interfach 750-650 verbinde, dann kann ich schon Daten zwischen PC und wago Controller austauschen oder?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja das kannst du... der Master (deine Wago) ist der einzige der auf dem Bus was Fragen darf und Fragt dann den Slave mit der eingestellten Adresse ab, im Prinzip ist das so:
-> Master an Slave mit Adresse X sende mir eine X Anzahl von Registern
-> Slave an master hier sende ich dir die angefragten Register

antwortet der Slave nicht in einer gewissen zeit so gibt es ein Timeout Fehler

Du musst noch beachten das das serielle RS232 Kabel RxD und Txd vertauscht sein muß.

viel Erfolg
Michael
 
Ich muss mir selber ein RS232 Kabel basteln, damit ich den serielle interface(wago 750-650) mit der schnittstelle vom PC(wo Modbus Slave Simulator läuft) verbinden kann.
du meinst ich muss RxD(PC-seite) mit TxD(Wago Seite) verbinden? damit ein Datenaustauch stattfinden kann
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Michael
so ich habe die hardware so weit angeschlossen und parametriert.
Das Programm haeb ich laufen lassen und die Wago SPS hat keinen Fehler gemeldet.
Nun halt die Daten die ich von vom Wago geschickt habe(3 wörter) sehe ich die net im Modbus Slave! Ich weiss nicht was ich da noch anpassen muss
Im programm ist die Slave Adresse schon festgelegt und zwar 5 wo kann ich die Adresse vom Slave(Modbus Slave Simulator) ändern?

Danke im voraus

mfg
T
 
Hallo Tiger,
als allererstes würde ich mal schauen ob die serielle Schnittstelle was richtiges empfängt, also starte doch mal ein normalesTerminalprogramm (empfehlen kann ich da http://www.der-hammer.info/terminal/) und nun solltest du bei richtiger Einstellung baudrate unsw. ein Telegramm in der Art von: 01 03 00 00 00 64 44 21 (alles Hexadezimal) hier mal die Aufschlüsselung dazu, weil du ja was lernen möchtest :)
01 = Adresse Slave
03 = Funktion lesen register (holding)
00 = highbyte Startregister
00 = lowbyte Startregister
00 = highbyte Anzahl Register
64 = lowbyte Anzahl Register
44= CRC Check highbyte
21= CRC Check lowbyte

Achte darauf das du die Daten ja in Hexadezimal bekommst also das Terminalprogramm so einstellen mußt.

 
Hallo Michael
Ich kann immer noch nicht nachvollziehen wo die gesendeten daten landen.
Der Wago Controller meldet keinen fehler.
Ich habe die gleiche Einstellungen der serielle Schnittstelle an Com2 vom PC, HTerminal und Wago serielle Interface.
Das Programm sollte drei Wörter senden.

mfg
T.
 

Anhänge

  • RS232Kommunikation.zip
    10,6 KB · Aufrufe: 19
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Tiger30,
dein Programm hat meiner Ansicht nach ein paar Fehler.
ich habe dir mal ein simples Programm zusammengemalt in CFC. Normalerweise würde ich das in ST machen, aber für die Übersicht, zum Beobachten und lernen ist das so besser. Fang doch mal damit an und spiele etwas mit den Daten rum. Da ich grade keine serielle Schnittstelle zur Verfügung habe, habe ich es nicht testen können (nur Simulator). Ich habe auch mein Progkabel nicht hier, sonst kann man nämlich die Serielle Schnittstelle auf 1 stellen und mit der Programmierschnittstelle alles testen.

viel Erfolg
Michael
 

Anhänge

  • ModBUS.JPG
    ModBUS.JPG
    167,2 KB · Aufrufe: 51
Hallo Michael,
Danke für dein beispiel. Leider kann ich es nicht testen weil ich das Programm nicht einloggen kann. Ich bekomme immer den fehlercode 10/5 das bedeutet das die Steueurkonfiguration falsch ist.
Ich habe alles versucht um den fehler zu beheben. Die Steuerkonfiguartion stimmt soweit. An dem Controller 750-841 ist nur ein serielles Interface 750-650/00012 und ein Endbusklemme angeschlossen.
Ich habe ein Reset gemacht und wieder versucht das Programm einzuloggen leider erfolgslos.
Die Com Einstellungensind soweit alle richtig eingetragen.
An der Stelle komme ich leider nicht weiter. hast du vllt ein idee woran es liegen könnte oder was ich denn machen soll damit ich weiter kommen kann

danke im voraus
mfg
T.
 
Ja ich glaube das kann ich,
log dich mal per Webbrowser auf die Steuerung ein gehe unter PLC und klick da mal den Haken an: Use alternative Target ID

dann sollte es wieder gehen und hier der grund dafür:

The 750-841 has a new Target-ID.

With firmware 13 of the 750-841 it was necessary to create a new CoDeSys-Target-ID.
In existing projects it is possible to change the target in the folder Resources under the item Targetsettings. The new target will be part of the version 2.3.8.5 of WAGO-IO-PRO CAA. It is also available via the WAGO support. For compatibility reasons it is possible to change the target ID in the 750-841 to versions before 12. This is possible on the page PLC in the web-based management.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ja das habe ich jetzt gemacht aber ich bekomme weiterhin immer den gleichen Fehler:
Kommunikationsfehler(#0)
An der Steuerungskonfiguration liegt's nicht. Scheinbar der Controller merkt die Steuerkonfiguration vom alten Projket und die will er haben
 
Hi Michael
so endlich jetzt kann ich das Programm einloggen. Nun kann ich leider die daten in HTerminal nicht sehen. Die Verbindung zu Com Schnittstelle wird erfolgreich hergestellt nur die Daten kann ich net sehen.
Weisst du vllt was ich noch im HTerminal ändern kann damit ich die empfangenen Daten an RS232 sehen kann
 
Bitte schick mir mal ein Screenshot vom Programm (PLC_PRG) wenn du eingeloggt bist, ich glaube da stimmt etwas grundliegend nicht. Weil so schwer ist das eigendlich gar nicht... die Steuerung hast du schon in Run gestellt oder? (unten rechts das Symbol online ist grün)

was zeigt den die Modbus Rückmeldung eigentlich an?

schöne Grüße
Michael
 
Zuletzt bearbeitet:
Modbus Slave

Hallo Michael

wie gesagt der Controller meldet gar keinen fehler auch der serielle Interface.


danke im voraus für deine Mithilfe

Mfg
T.
 

Anhänge

  • beispiel.doc
    266 KB · Aufrufe: 26
Zurück
Oben