Suche Modbus komponenten
-
- Beiträge: 478
- Registriert: Fr 13. Sep 2013, 12:07
- OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
- CPU-Target: 64Bit
- Wohnort: Rügen
Suche Modbus komponenten
Hallo,
ich möchte einen Solarladeregler auslesen - der wird mit dem Modbus RTU-Protokoll üder eine serielle Schnittstelle (RS485) angesprochen.
Serielle habe ich bisher immer mit Synapse gemacht.
Nun suche ich Komponenten / Paket mit dem ich das Modbus RTU-Protokoll handeln kann.
Welche Möglichkeiten gibt es da ?
Gruß Frank
ich möchte einen Solarladeregler auslesen - der wird mit dem Modbus RTU-Protokoll üder eine serielle Schnittstelle (RS485) angesprochen.
Serielle habe ich bisher immer mit Synapse gemacht.
Nun suche ich Komponenten / Paket mit dem ich das Modbus RTU-Protokoll handeln kann.
Welche Möglichkeiten gibt es da ?
Gruß Frank
-
- Beiträge: 6162
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Suche Modbus komponenten
Wie ist diese Schnittstelle in deinem PC vorhanden ?
Wird sie als als COM-Port präsentiert ?
Wird sie als als COM-Port präsentiert ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- af0815
- Lazarusforum e. V.
- Beiträge: 6198
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Suche Modbus komponenten
Grundlegend fällt mir da PascalScada ein. Das macht den Modbus Master. IMHO kann das sowohl über seriell als auch über TCP/IP. Ich habe bisher nur den TCP/IP Teil verwendet. Pascalscada ist im OPM enthalten.
In den Examples sind 2 Beispiele vorhanden mit denen du was anfangen könntest: laz_modbus_rtu_scanner und laz_modbus_rtu_ats48
In den Examples sind 2 Beispiele vorhanden mit denen du was anfangen könntest: laz_modbus_rtu_scanner und laz_modbus_rtu_ats48
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 478
- Registriert: Fr 13. Sep 2013, 12:07
- OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
- CPU-Target: 64Bit
- Wohnort: Rügen
Re: Suche Modbus komponenten
Die Schnittstelle ist als Serial Port auf dem PC vorhanden - als normaler COM-Port bzw. USBttyxxx
- af0815
- Lazarusforum e. V.
- Beiträge: 6198
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Suche Modbus komponenten
Übrigends könnte man das auch mit Synaser selbst implementieren, besonders wenn man nur 1 oder 2 Befehle übertragen will.
Infos dazu hier: http://www.modbus.org/docs/Modbus_Appli ... V1_1b3.pdf besonders so um Seite 11 herum sieht man die grundlegenden Kommandos und auch die Antworten.
Die Frage ist vielmehr, was brauchst du genau um den Solarladeregler auszulesen. Ich gehe fast davon aus, das die Werte in Registern liegen.
Infos dazu hier: http://www.modbus.org/docs/Modbus_Appli ... V1_1b3.pdf besonders so um Seite 11 herum sieht man die grundlegenden Kommandos und auch die Antworten.
Die Frage ist vielmehr, was brauchst du genau um den Solarladeregler auszulesen. Ich gehe fast davon aus, das die Werte in Registern liegen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 478
- Registriert: Fr 13. Sep 2013, 12:07
- OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
- CPU-Target: 64Bit
- Wohnort: Rügen
Re: Suche Modbus komponenten
... ja ich möchte eigentlich nur eine Batteriespannung und den Ladezustand auslesen - und ja die liegen in Registern - alles lt. Modbus RTU Standard.
Die Register, Datenformate, ... ist alles bekannt.
Ich werde dann mal selber was stricken - hätte ja sein können dass es eine Komponente / Paket gibt die das Standard Modbus RTU kann.
Danke
Gruß Frank
Die Register, Datenformate, ... ist alles bekannt.
Ich werde dann mal selber was stricken - hätte ja sein können dass es eine Komponente / Paket gibt die das Standard Modbus RTU kann.
Danke
Gruß Frank
- af0815
- Lazarusforum e. V.
- Beiträge: 6198
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Suche Modbus komponenten
DL3AD hat geschrieben:Ich werde dann mal selber was stricken - hätte ja sein können dass es eine Komponente / Paket gibt die das Standard Modbus RTU kann.
Dazu verwende ich u.a. PascalScada. Es darf dich nicht erschrecken, das kann mehr, Ich verwende auch nur den Modbusteil davon.
Wenn man die Komponenten plaziert und konfiguriert hat, reduziert sich der Aufwand auf:
Code: Alles auswählen
procedure TForm1.BuReadClick(Sender: TObject);
begin
TagMod1.Read;
TagMod2.Read;
TagMod3.Read;
TagMod4.Read;
TagMod5.Read;
SG.Cells[1,1]:= FloatToStr(TagMod1.Value);
SG.Cells[2,1]:= FloatToStr(TagMod2.Value);
SG.Cells[3,1]:= FloatToStr(TagMod3.Value);
SG.Cells[4,1]:= FloatToStr(TagMod4.Value);
SG.Cells[5,1]:= FloatToStr(TagMod5.Value);
end;
SG ist ein StringGrid auf dem ich die Werte Anzeige. Der Rest wird im OI auf den Komponenten eingestellt. Du hast dann eine PortKomponnete (RS232/485), das Protokoll (Modbus) und die diversen Tags. Mehr ist es nicht.
So nebenbei - ist auch der Entwickler erreichbar und macht auch Wartung seiner Komponente. Habe selbst schon persönlichen Kontakt mit ihm gehabt um ein paar kleinere Probleme zu lösen, die im industriellen Umfeld auftreten können.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
- corpsman
- Lazarusforum e. V.
- Beiträge: 1496
- Registriert: Sa 28. Feb 2009, 08:54
- OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
- CPU-Target: 64Bit
- Wohnort: Stuttgart
- Kontaktdaten:
Re: Suche Modbus komponenten
Bei meiner UUart Komponente ist im UNterordner das Program Modbus Diagnostics mit dabei, es demonstriert wie man Modbus RTU und Modbus TCP Verbindungen mit Synapse und ich glaube L-Net aufbauen kann (die Demo liest nur).
Das hilft evtl auch weiter *g*
Das hilft evtl auch weiter *g*
--
Just try it
Just try it