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 

Probleme bei der Kommunikation mit Modbus



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!

06.05.2020, 09:26
Beitrag #1

Mklei33s Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: May 2020

2019 SP1
2019
DE



Probleme bei der Kommunikation mit Modbus
Hallo zusammen,

im Rahmen meiner Bachlorarbeit beschäftige ich mich mit der Kommunikation zwischen der Platine einer zwei-achsigen-PV-Nachführeinheit und meinem PC mithilfe von Labview und Modbus (RS-485).

Meine Erfahrungen in dem Thema sind leider sehr beschränkt und ich stehe wie der Ochse von dem Berg, weil die Kommunikation (Abfrage der Inputregister) mit dem Gerät nicht so klappt wie gewohnt.

Meinen Aufbau habe ich schematisch mit an gehangen. Durch den Hersteller habe ich bereits erfahren, dass das Gerät wohl andere Funktionscodes nutzt (Liste der Befehle im Anhang). Inputregister scheint die Steuerplatine nicht zu bilden, bzw. der Befehl 0x04 (wenn ich mich nicht irre) scheint nicht belegt zu sein.

Nun ist meine Frage besteht die Möglichkeit die Funktionscode manuell zu setzten ? und wenn ja wie genau bekomme ich das hin ?
Oder fallen euch noch andere Fehler/Problemquellen auf ?

Über Vorschläge freue ich mich sehr.

Gruß
Max Klein


Angehängte Datei(en) Thumbnail(s)
           

0.0 .pdf  Modbus command description - nano,pico,micro,27e (1).pdf (Größe: 209,38 KB / Downloads: 273)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.05.2020, 09:40 (Dieser Beitrag wurde zuletzt bearbeitet: 06.05.2020 09:42 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Probleme bei der Kommunikation mit Modbus
Hallo Mklei,

herzlich willkommen im LabVIEW-Forum!

Zitat:Nun ist meine Frage besteht die Möglichkeit die Funktionscode manuell zu setzten ? und wenn ja wie genau bekomme ich das hin ?
Ich würde bei diesem Gerät meinen eigenen Gerätetreiber programmieren.
Du benötigst:
- ein VI, um diese MODBUS-Messages zu generieren, mit den Eingängen Slave-Address (U8), FunctionCode (U8), Daten (U8-Array). Das VI berechnet dann noch die CRC und baut alles zur Message zusammen. Abschicken dann per VISAWrite.
- ein VI, um die Response per VISARead zu lesen und auszuwerten. Ausgänge: ACK/NACK und Response-Daten (U8-Array).
- diverse VIs für jeden benötigten Befehl, der die passenden Daten (Int, Float, etc.) verarbeitet
Ist eine schöne und überschaubare Übung, bei der man gut LabVIEW lernen kann! Big Grin

(Ich habe etwas mit Modbus gearbeitet und es scheinen hier unübliche FunctionCodes verwendet zu werden. Die üblichen Modbus-Libraries sind darauf eher nicht ausgelegt - auch hier müsstest du einiges an Programmierarbeit reinstecken. Da ich aber auch hier auf eigene Bibliotheken statt welcher aus VIPM zurückgegriffen habe, ist meine Erfahrung damit sehr begrenzt…)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.05.2020, 12:21
Beitrag #3

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Probleme bei der Kommunikation mit Modbus
Hallo,

ganz von vorne musst du nicht anfangen, du hast ja schon die "gute alte" NI Modbus-Library installiert.
An deiner Stelle würde ich davon eine Kopie erstellen und das entsprechend anpassen.

Wenn du eines der polymorphen Master Read oder Write VIs öffnest, dann wird darin immer dasselbe VI verwendet: MB Serial Master Query.vi
Da der "Function Code" nur ein Ring-Control ist, kannst du ihn leicht mit anderen als den vordefinierten Werten überschreiben.
Damit wäre der "Request" (teilweise) erledigt.

Dann musst du dich aber noch um die Antwort kümmern, bei einem unbekannten Function Code wird nämlich im SubVI "MB Decode Data.vi" verworfen.

Das wäre aus meiner Sicht ein sinnvoller Einstieg, um diese seltsame Modbus-Umsetzung anzugehen.

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
06.05.2020, 23:40
Beitrag #4

Mklei33s Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: May 2020

2019 SP1
2019
DE



RE: Probleme bei der Kommunikation mit Modbus
Hallo,

danke für die schnellen Antworten.

Den Block "MB Serial Master Query.vi" habe ich gefunden. Dort habe ich dann in der Ring-Control einen neuen Befehl eingefügt. Ist das korrekt wenn ich den Funktionscode in Dezimalschreibweise eingebe (also 0x78 als 120 für die "general Infos")?
Das habe ich, glaube ich zumindest, hinbekommen (siehe Bild im Anhang).

Wenn ich nun in den Block "MB Serial Master Query.vi" reinschaue erhalte ich das Fenster was im Bild "MB Serial Master Query_BS" zu sehen ist. In diesem Block kann ich nicht mehr viel ändern. Jedoch muss ich ja den Decode-Block abändern, da er meinen Funktionscode nicht kennt.

Wie kann ich ich da nun vorgehen um dort etwas abzuändern?

Gruß
Max


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.05.2020, 06:08
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Probleme bei der Kommunikation mit Modbus
Das Ringcontrol hättest du nicht ändern müssen. Einfach ein Numeric mit Wert 120 anschließen, fertig. Das ist das Schöne an einem Ring, dem kannst du auch zur Laufzeit einen anderen Wert verpassen.

Zur Antwort: Im Decode-VI wird im Default-Case die Antwort nicht zurückgegeben - das müsstest du ändern.

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
07.05.2020, 12:09
Beitrag #6

Mklei33s Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: May 2020

2019 SP1
2019
DE



RE: Probleme bei der Kommunikation mit Modbus
Hallo Jens,

ok, also ändere ich den Decodeblock so ab, dass er auf im Fall "Standard" die Daten umwandelt soll. Ich bekomme ja für meinen Befehl ein Paket aus 104 Bytes in unterschiedlichen Datenformaten (INT32 und float32). Kommen die Daten dann geordnet in Form eines Feldes im Decode-Block an oder sind diese als Bitfolge alle aneinandergereiht ?

Bin leider komplett unerfahren in diesem Bereich, daher schon mal eine Entschuldigung im voraus für ggf. dumme Fragen. Unsure

Gruß Max
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
07.05.2020, 14:18
Beitrag #7

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Probleme bei der Kommunikation mit Modbus
Die Daten kommen als x U16-Werte, für die Interpretation und Wandlung musst du dir selber einen Parser schreiben.

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
07.05.2020, 16:02
Beitrag #8

Mklei33s Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: May 2020

2019 SP1
2019
DE



RE: Probleme bei der Kommunikation mit Modbus
Hallo zusammen,

so ich habe jetzt mal versucht die Vorschläge umzusetzen. Dazu hab ich im Serial Master Query den neuen Funktionscode eingegeben (siehe Anhang) und anschließend den Decode-Block abgeändert. Jedoch erhalte ich jetzt einen Timeout Fehler (Fehlercode 6101). Muss ich bei dem Decode-Block den konkreten Reply-Code erstellen oder reicht es wenn ich einfach in den Standardfall meine Konvertierung reinpacke ?

Gruß
Max


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.05.2020, 14:52
Beitrag #9

Mklei33s Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: May 2020

2019 SP1
2019
DE



RE: Probleme bei der Kommunikation mit Modbus
Hallo zusammen,

leider ist es mir noch nicht gelungen, dass Problem zu lösen. Hat keiner von euch eine Idee woran es liegen könnte ?

Gruß
Max
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.05.2020, 08:58
Beitrag #10

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Probleme bei der Kommunikation mit Modbus
Was hast du probiert? Nur das VI gestartet, so wie im Screenshot?

Hast du debuggt, was du per VISA verschickt und ob und was zurückkommt?

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
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Kommunikation zw. FU und Modbus Sou 3 6.000 11.04.2017 07:07
Letzter Beitrag: Sou
  Kommunikation über Modbus ThBaKa 6 8.139 14.04.2015 12:53
Letzter Beitrag: jg
  Probleme mit TCP Kommunikation zwischen Server & Client ChiefChill 3 6.062 10.03.2014 09:02
Letzter Beitrag: cb
  ModBus Kommunikation mit Unidrive SP machfax 2 4.347 29.01.2013 14:04
Letzter Beitrag: jg
  Modbus TCP MrChipsy 1 5.028 26.06.2012 06:33
Letzter Beitrag: NWOmason
  Probleme mit UART (serielle Kommunikation) Nobody 11 11.044 28.07.2011 14:59
Letzter Beitrag: Y-P

Gehe zu: