INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

MODBUS -Kommunikations-Problem



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

22.02.2010, 17:16
Beitrag #11

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
MODBUS -Kommunikations-Problem
' schrieb:Heißt das, dass ich RTS sofort nach dem Senden der Anfrage abschalten muss?
Ja, ist sehe das so.
Zitat:Oder muss ich dafür etwas anderes reinprogrammieren?
Nein, auf jeden Fall nicht mehr als das mit der Handshake-Steuerei.
Zitat:Liegt es vielleicht auch an der "Handshake"-Einstellung und wie kann ich diese in LV bearbeiten?
Ja, ich sehe es so, dass es an der Handshake-Steuerung liegt.
Wahrscheinlich weiß der ModbusPoll-Treiber, dass die Schnittstelle eine RS485 ist und macht dementsprechend alles richtig. Das Problem wird sein, dem LV-Treiber zu sagen, dass er ein "Verbessertes Schnittstellen-Management wegen RS485" machen soll. Auf der Ebene, auf der du programmierst (Applikationsebene) wird dieses Problem aber nicht zu lösen sein. Wenn du den Sendetreiber per Handshake abschalten willst, dauert das aus gegebenen Gründen viel, viel länger, als wenn es der Treiber macht.
Zitat:Ist das die Flusssteuerung?
Ja.

Zitat:Ich sehe das Echo beim Protokoll von MODBUS POLL nicht. Da steht doch nur:
Ich hab noch mal gekuckt. Du hast Recht. Das mit der doppelten Anzeige ist was anderes.

Zitat:Bei LV sieht das Protokoll mit RTS-Ein/Aus, wie ich es nachträglich reinprogrammiert habe, so aus:
Request: 01 03 00 25 00 01 95 C1
Answer: 01 03 00 25 00 01 95 C1 01 03 02 FF EA 78 3B
Das Echo, das entsteht wie ich oben beschrieben habe, kann natürlich vom Treiber eliminiert werden. Ich gehe davon aus, dass der ModbusPoll-Treiber dieses Echo eliminiert, sodass es eine Stufe über dem Treiber gar nicht mehr in Erscheinung tritt. Das Problem auch hier: Der LV-Modbus-Treiber sollte das Echo eliminieren.

Zitat:Aber auch nur manchmal.
Klar: Wenn du in deinem Programm die Handshakeleitungen setzt, dann dauert das mal kürzer, mal länger. Da hast du keinen Einfluss drauf. Wenn es länger dauert, kommt keine Antwort.
Zitat:Ab und zu meldet LV auch ein timeout.
Klar: Es kommt ja nichts an. Zwei Sendetreiber senden gleichzeitig.
Zitat:Aber es steht niemals nur die Antwort der Heizung da. Schnappe ich ggf. noch meine herumgeisternde Anfrage auf? Ein Löschen der Puffer vor dem Senden und Empfangen hat übrigens nichts gebracht.
Nein, es ist keine herumgeisternde Anfrage. Gehe vorerst davon aus, dass das tatsächlich das Echo ist! Puffer löschen nützt natürlich gar nichts: Das Echo ist zeitsynchron zur Anfrage!
Hinweis:
Du kannst den Puffer zwar löschen, dann müsste das Echo verschwinden sein. Du darfst aber erst löschen, wenn das Senden definitiv beendet ist. Das die ganze Löscherei aber wahrscheinlich zu lange dauert, löscht du wahrscheinlich gleich die Antwort mit.

Zitat:Das heißt ich sende im Kreis, oder? Ich sende vom PC zum Konverter, der leitet es aber nicht weiter und so kommt es wieder bei mir an?
Nein, so rum nicht: Der PC sendet schon zum Konverter. Und der auch zur Heizung. Er sendet aber auch zu sich selbst. Die Ausgänge des Sendetreibers heißen T+ und T- - und die sind im Falle einer RS485 mit den Eingängen des Empfängers, die da R+ und R- heißen, verbunden - sonst wäre es ja kein Zwei-Draht-Bus, sondern ein Vier-Draht-Bus wie die RS422. Sobald die Heizung die Anfrage bekommen hat, wird sie die Antwort senden. Da aber T- und T+ vom Konverter noch aktiv sind, zerstört der Konverter praktisch die Antwort der Heizung.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
22.02.2010, 17:29
Beitrag #12

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
MODBUS -Kommunikations-Problem
Und hier der Rest, weil das Forum nur eine begrenzte Anzahl Quotes zulässt.

' schrieb:--> Also ich werde mal Folgendes ausprobieren: Ich schalte RTS an, warte 10 ms, sodass der Konverter auch Zeit hat sich umzustellen.
Diese Wartezeit ist irrelevant. Je nach RTS-Pegel reagiert der Konverter unmittelbar.
Zitat:Oder sollte ich besser / muss ich auf einen High-Pegel auf dem CTS-Kanal warten, über den der Konverter mir mitteilt, dass er die Daten annehmen kann?
Dieses Feature hat ein Konverter nicht! Zumindest ist mir keiner bekannt, der sowas macht. Und ob wowas ein Feature wäre, müsste ich noch überlegen. Der Konverter arbeitet "in Echtzeit" ...
Glas1
Kontrolliere mal, ob nicht die Heizung einen Ausgang liefert, mit der ein Konverter steuerbar ist. Möglicherweise sagt die Heizung nämlich, dass sie jetzt Daten empfangen kann oder nicht. Damit würde nämlich die Heizung die Treiber vom Konverter schalten, wie sie sie braucht.

Zitat:Dann sende ich meine Anfrage und sofort danach schalte ich RTS wieder
So sollte es sein. Nur: Du selbst kannst RTS gar nicht so schnell abschalten, wie die Heizung antwortet. Das Abschalten muss der Treiber machen. Der weis nämlich unmittelbar, wenn das letzte Zeichen gesendet wurde.

Zitat:Eigentlich müsste dies (RTS, CTS etc.) doch alles automatisch laufen, wenn ich die Flusssteuerung auf Hardware einstelle, oder?
Ja und Nein. Nicht im Falle der RS485. Normalerweise ist eine RS485 eine reine Zwei-Draht-Verbindung. Wolltest du die Handshake-Leitung zwischen Heizung und PC (nicht Konverter-PC!) übertragen, bräuchtest du 3x2 Leitungen.

Zitat:Ich werde nochmal versuchen mich bei wikipedia schlauzulesen
Kuck da mal bei RS422/RS485.


Kann deine Heizung auch RS422? Das würde das Problem lösen.

Hast du mal bei NI nachgefragt, warum der Modbus-Treiber das mit dem RS485-spezifischen Gegebenheiten nicht beherrscht?

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.02.2010, 18:56
Beitrag #13

sebastian2010 Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Feb 2010

8.0
2008
en

56412
Deutschland
MODBUS -Kommunikations-Problem
Besten Dank für Deine sehr ausführliche Antwort!
Dass der Treiber das Problem ist, finde ich auch sehr plausibel. Aber wie man da rumprogrammiert, weiß ich überhaupt nicht. Ich werde mal eine mail an NI schicken.
Die Heizung kann leider nur RS485 und es gehen auch nur Tx, Rx und Gnd ab von der ihrer Steckkarte. Von daher wird sie den Konverter auch nicht ansteuern, richtig?

Könnte ich eigentlich auch irgendwie mit LV den Modbus Poll-Treiber nutzen, oder quasi mit LV auf Modbus Poll zugreifen? Dann könnte ich mit LV die Daten aufzeichnen und alles in einem netten Anlagenschema darstellen und Modbus Poll zum senden und Empfangen von Daten nutzen. Ich denke mal nicht, dass es da irgendeine eine Schnittstelle zwischen den beiden Programmen gibt, aber vielleicht könnte ich mit LV auf die Benutzerobefläche von Modbus Poll zugreifen. Das wäre vielleicht hinten rum ins Auge, aber eine Lösung..Wink

Ich probier aber schon mal die anderen Wege.
Besten Dank nochmal!

MfG
Sebastian
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.02.2010, 19:31
Beitrag #14

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
MODBUS -Kommunikations-Problem
' schrieb:Ich werde mal eine mail an NI schicken.
Das wird das gescheideste sein. Selber programmieren bringt da nix.

Zitat:Die Heizung kann leider nur RS485 und es gehen auch nur Tx, Rx und Gnd ab
Wie jetzt?
Die Leitungen heißen Tx und Rx - und GND? Das sind aber drei Leitungen und klinkt nach RS232. Bei RS485 heißen die Leitungen D+ und D-. GND ist da eigentlich gar nicht notwendig. D heißen sie deswegen, weil sie beides können T und R.
Bei Heizungen kann ich mir vorstellen, dass am Stecker beide Schnittstellen aufgelegt sind: RS485 und RS232.

Zitat:Von daher wird sie den Konverter auch nicht ansteuern, richtig?
Sollte das oben mit dem Tx und Rx falsch sein, dann ist diese deine Aussage richtig - ansonsten irrelevant.

Zitat:Könnte ich eigentlich auch irgendwie mit LV den Modbus Poll-Treiber nutzen,
Würde ich vorerst man nicht machen.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.02.2010, 20:44
Beitrag #15

sebastian2010 Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Feb 2010

8.0
2008
en

56412
Deutschland
MODBUS -Kommunikations-Problem
Also es sind definitiv 3 Drähte! Hier die Steckkarte LWPM 410 (die unterste auf der Seite).
Ich habe auch noch einen Ausschnitt aus der Montageanweisung angefügt. Dort sieht man nochmal wie die Karte mit dem Konverter verbunden werden muss; über 3 Drähte.
Des Weitern hatte mir Dimplex mal per mail Folgendes mitgeteilt:
"PIN-Belegung Serial Port:
1: VL
2: 3,3V
3: GND
4: GND
5: Tx Enable (output)
6: Tx (output)
7: Rx (input)
8: Busy Serial (input)

3. Ist die Serielle Schnittstelle (LWPM 410) eine RS232, oder RS485?
Die Schnittstellenkarte die Modbus unterstützt ist RS 485"

Vielleicht sagt Dir das noch etwas?

MfG
Sebastian


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.02.2010, 22:10 (Dieser Beitrag wurde zuletzt bearbeitet: 22.02.2010 22:11 von IchSelbst.)
Beitrag #16

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
MODBUS -Kommunikations-Problem
' schrieb:"PIN-Belegung Serial Port:
1: VL
2: 3,3V
3: GND
4: GND
5: Tx Enable (output)
6: Tx (output)
7: Rx (input)
8: Busy Serial (input)
Ich sach jetzt mal so und du probierst das aus: Das ist als RS485 verwendbar - und als RS232.

Tx, Rx und GND zusammen kannst du verwenden als RS232. Also GND auf PC-9pol-DSub Pin 5. Tx (hier Pin 6) auf Rx von PC-9pol-DSub. Rx (hier Pin 7) auf Tx von PC-9pol-DSub (Tx, Rx von PC hab ich jetzt nicht im Kopf, entweder 2 oder 3).

Aus der Beschreibung "Tx Enable (output)" schließe ich, dass dieser Pin immer dann high ist, wenn über Tx Daten gesendet werden sollen. Das ist ja genau das, was ein RS232/RS485-Konverter braucht! Die Heizung weis ganz genau, wann sie Daten erwartet oder sendet. Jenachdem kann sie dann innerhalb kürzester Zeit "den Sendetreiber im Konverter an- und abschalten".

Wie viel Meter Kabellänge hast du denn zwischen dem PC und der Heizung?

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
22.02.2010, 22:29
Beitrag #17

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
MODBUS -Kommunikations-Problem
' schrieb:Ich sach jetzt mal so und du probierst das aus: Das ist als RS485 verwendbar - und als RS232.
Sind diese 8 Pins nicht die Beschreibung der RS-232-Seite des 232 zu 485 Konverters! Die Kommunikationsplatine hat doch eindeutig nur 3 Kabel!

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.02.2010, 22:35
Beitrag #18

sebastian2010 Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Feb 2010

8.0
2008
en

56412
Deutschland
MODBUS -Kommunikations-Problem
Das hier hab ich noch in einem NI-Forum gefunden:
"Because the NI Modbus libraries use NI-VISA functions, you can use a 232 port with an external 485 converter or you can use a 485 port installed in your PC. I have successfully done this both ways with Yaskawa drives that use the modbus protocol. If you choose an external 232-485 adapter, you might consider an optically isolated one."
Also es scheint ja irgendwie zu funktionieren, auch mit LV..;)Vielleicht brauch ich aber einen Adapter von NI...?!Wink

Ich werd mal ausprobieren, die Karte direkt an den RS232-Port des PC anzuschließen. Kann dabei ggf. die Karte in der Heizung oder die Schnittstelle am PC "abrauchen"?..

Von der Heizung bis zum Konverter sind's jetzt ca. 1 m und vom Konverter zum PC nochmal 1 m Kabel. Also eigentlich nix.

Wegen der PIN-Belegung nochmal: Gehst du davon aus, dass es die PIN-Belegung an der Schnitstellenkarte der Heizung ist in Richtung Konverter, oder die PINs am Konverter in Richtung PC?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.02.2010, 22:36 (Dieser Beitrag wurde zuletzt bearbeitet: 22.02.2010 22:39 von sebastian2010.)
Beitrag #19

sebastian2010 Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Feb 2010

8.0
2008
en

56412
Deutschland
MODBUS -Kommunikations-Problem
Zitat:
Zitat:ZITAT(IchSelbst @ 22.02.2010 , 22:10:22)
Ich sach jetzt mal so und du probierst das aus: Das ist als RS485 verwendbar - und als RS232.
Sind diese 8 Pins nicht die Beschreibung der RS-232-Seite des 232 zu 485 Konverters! Die Kommunikationsplatine hat doch eindeutig nur 3 Kabel!

Ja, genau das mein ich mit meinem letzten Satz.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.02.2010, 22:50 (Dieser Beitrag wurde zuletzt bearbeitet: 22.02.2010 22:51 von IchSelbst.)
Beitrag #20

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
MODBUS -Kommunikations-Problem
' schrieb:Kann dabei ggf. die Karte in der Heizung oder die Schnittstelle am PC "abrauchen"?..
Naja, normalerweise nicht. Früher waren RS232 und RS485 kurzschlussfest. Es sei denn, die Heizungsregelung funktioniert nicht.

Zitat:Wegen der PIN-Belegung nochmal: Gehst du davon aus, dass es die PIN-Belegung an der Schnittstellenkarte der Heizung ist in Richtung Konverter, oder die PINs am Konverter in Richtung PC?
Schnitstellenkarte der Heizung in Richtung Konverter.
Wenn da eine Beschreibung mit 8 Pin vorliegt, müssen die auch irgendwo physikalisch zu finden sein. Ich vermute in der Heizung. Und von diesen 8 Pins könnten die drei Erwähnten für die RS232 funktionieren.


Zitat:Sind diese 8 Pins nicht die Beschreibung der RS-232-Seite des 232 zu 485 Konverters
Nein, das vermute ich jetzt nicht. Konverter haben auf der RS232-Seite doch eher eine normgerechte Belegung.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Modbus-Problem knuemm 6 3.932 17.05.2019 10:05
Letzter Beitrag: knuemm
  Modbus TCP MrChipsy 1 5.219 26.06.2012 06:33
Letzter Beitrag: NWOmason

Gehe zu: