NEWS
Modbus adapter
-
Hallo Ihr wissenden,
jetzt habe ich schon unzählige postings gelesen, bin aber keinen Schritt weiter.
Ich habe aktuell einen Beckhoff CX9020 mit ModbusTCP-Serverlizenz.
Ich möchte vorerst nur den aktuellen Status von Ausgängen lesen und in VIS anzeigen.
Nächster Schritt ist dann Eingänge zu simulieren.
Ich weiß mittlerweile dass ich den "Signalaustausch" über Merker bewerkstelligen soll, bin aber grade total planlos.
Kann mir jemand Starthilfe zu diesem Thema geben?
Bin noch neu bei ioBroker und was SPS-Programmierung angeht auch eher unerfahren. `
Hi,
bisschen wenig Informationen… aber fangen wir mal an.
Geht denn schon irgendetwas zwischen iobroker/Modbus und Beckhoff oder stehst du noch komplett am Anfang?
Wenn ich richtig gegoogelt habe sollte das die Anleitung zu deiner Steuerung sein:
https://download.beckhoff.com/download/ … 0_hwde.pdf
In der ganzen Anleitung kann ich nichts von Modbus finden.
Kannst du Informationen zu dieser
> ModbusTCP-Serverlizenz
geben? Eine Doku oder so aus der hervorgeht wie die Einstellungen erfolgen müssen/können?Wenn es z.B. das hier ist https://download.beckhoff.com/download/ … TCP_DE.pdf
Stehen nach der erfolgreichen Installation die ersten Einstellungen ab Kapitel 4.2 (Seite 17) an.
Wenn du das Beckhoff Teil richtig konfiguriert hast, solltest du im Modbus Adapter die passenden Einstellungen vornehmen und nach starten des Adapters mal (im Debug) Level in das logfile schauen.
Wenn du etwas konfiguriert hast bitte screenshots und logfiles von beiden Seiten (Iobroker/Beckhoff) posten.
Gruß
-
Hallo Wendy,
ich stehe ganz am Anfang.
Infos findest Du hier: https://infosys.beckhoff.com
dort dann
TwinCat 2
-
TwinCat Supplement
-
Kategorie Communication TS6xxx
-
TS6250…
Ich habe das Supplement auf dem CX installiert und bekomme im ioBroker auch eine funktionierende Verbindung angezeigt.
modbus.0 2017-07-24 21:07:38.944 info List of port: []
Was kann ich noch an Infos beisteuern?
Schonmal danke für Deine Hilfe.
-
-
Hier hab ich zwar was zum Thema gefunden aber ich komme damit nicht weiter:
https://www.sps-forum.de/feldbusse/1291 … s-tcp.html
Ich habe versucht Globale Merkerwörter und auch Bits zu deklarieren aber ich hab keinen Schimmer, wie ich dann darauf zugreifen soll, sprich was ich in ioBroker dann definiren soll.
Angenommen ich deklariere ein Merkerwort (I_LICHT1 AT %MW0: WORD;) dann sollte das angeblich direkt über eine bestimmte Adresse ansprechbar sein?
Ich weiß nur nicht was ich dazu im Adapter konfigurieren muss.
Ist das jetzt ein Eingangsregister oder ein Holding Register? Und welche Adresse hätte es?
Wie kann ich mit VIS ein einzelnes Bit dieses Registers ansprechen / auslesen?
Wozu dienen die Felder poll, WP, CW, Einheit, Länge, Faktor, Offset und Rolle?
...fühle mich grade wie der erste Mensch
-
Hi,
darf ich fragen ob du das Privat oder Beruflich nutzen willst oder jetzt mit iobroker oder Fhem oder unabhängig von beidem?
Laut den Anleitungen im Netz bzw. auch dem Doc welches ich vorher verlinkt habe gibt es Spezielle Adressbereiche, je nachdem was man machen will und dazu eine SPS Mapping Tabelle. (seite 19, sieht so aus als ob es egal ist ob es nun TFxxx oder TSxxx heißt)
Oder als Link:
https://infosys.beckhoff.de/index.php?c … ew.htm&id=
Wenn ich das im Überflug richtig verstanden habe benutzt ein Merkerwort eine bestimmte Register Adresse. Diese Adresse sollte man im besten Fall dokumentiert finden oder es sollte eine Info geben wie das merkerwort umgewandelt werden muss.
Welches Register, ob Holding, Eingangs…. oder .... hängt oft von dem verwendeten Endgerät ab. Das sollte auch aus der Doku hervorgehen welche Registeradressen z.b. Nur lesbar sind, welche schreib/lesbar usw.
Wie man ein einzelnes Bit auslesen kann wenn man z.b. Ein 8bit wert hat weiß ich nicht.
Die Felder Poll usw. Sind glaube ich im Git zum Adapter erklärt.
Um dahin zu kommen hinter dem Adapter auf das "?" Klicken.
Mehr kann ich leider nicht helfen da mir im Urlaub jetzt die Zeit (und Lust) zum googeln fehlt.
Achja, wenn du SPS Unerfahren bist? Warum so eine "komplizierte" Steuerung ???
Gruß
Gesendet von iPhone mit Tapatalk Pro
-
Hallo Wendy,
ich nutze das privat.
Diese Steuerung, weil ich sie beim Neubau vor 13 Jahren als einfache Lichtsteuerung hinbekommen habe.
Ich habe allerdings nie mit Registern oder Buskommunikation arbeiten müssen.
Nun und im Zuge der Smart-Home modernisierung will ich ja nicht alles mit so komischen Funklampen und Steckdosen ausstatten, wenn ich es direkt implementieren kann.
Ich hatte tatsächlich zwischenzeitlich FHEM installiert, finde aber die ganze Oberfläche nur so halbgut. Deshalb habe ich mich schlussendlich doch für iobroker entschieden.
Nun zu meinen bisherigen Ergebnissen.
Ich weiß mittlerweile dass z.B. das erste Output-Register auf Adresse 32768 zu finden ist und ich es auch mit Simply Modbus beschreiben kann.
Jetzt die Masterfage, wie bewege ich ioBroker dazu auf dieser Adresse zu schreiben und zu lesen?
Alle Adressierversuche gingen bisher ergebnislos aus
-
So, der Knoten ist geplatzt…
Also eigentlich ganz einfach, wenn man nicht mit Aliasen arbeitet.
Falls jemand vor dem gleichen Problem steht:
In TwinCat müssen folgende Arrays als Globale Variable angelegt werden:
mb_Input_Coils : ARRAY [0..255] OF BOOL;
mb_Output_Coils : ARRAY [0..255] OF BOOL;
mb_Input_Registers : ARRAY [0..255] OF WORD;
mb_Output_Registers : ARRAY [0..255] OF WORD;
Diese Arrays beginnen alle bei Adresse 32768.
Um nun auf diese Adressen zugreifen zu können habe ich den Haken bei Alias verwenden entfernt und die Adressen direkt angelegt.
Für eine Lampe z.B. unter Diskrete Ausgänge einen neuen Ausgang mit Adresse 32768 vom Typ Switch.
Der schaltet bzw. liest den Wert von mb_Output_Coils[0] in der SPS.
Für die Profis hier wahrscheinlich basics aber vielleicht hilft es ja trotzdem jemandem
-
Super das es jetzt klappt.
Gruß aus dem Urlaub
Gesendet von iPhone mit Tapatalk Pro
-
Ich hab auch einen Zähler mit Modbus. Eigentlich ist der für den Batteriewechselrichter gekommen, aber nun würde ich ihn gerne auch mit ioBroker auslesen.
Das Modbus-Modul ist installiert.
serialport müßte auf dem Raspi auch installiert sein. Wie kann ich das überprüfen?
Der USB-RS485-Adapter funktioniert mit Windows.
Ich kann im ioBroker den entsprechenden Port auswählen, bekomme dann aber:
modbus.0 2017-08-20 16:35:32.106 error Cannot create modbus master!
modbus.0 2017-08-20 16:35:32.101 error Cannot open port "/dev/ttyUSB0" [4800]: ReferenceError: serialport is not defined
modbus.0 2017-08-20 16:35:31.628 info starting. Version 0.5.3 in /opt/iobroker/node_modules/iobroker.modbus, node: v6.9.5
Kann mir da jemand weiter helfen?
BTH: Weiß jemand einen Mosbus-Master-Simulator für Linux (Ubuntu)?
-
Hi,
Versuche einfach serialport erneut zu installieren… wenn es schon installiert ist bekommst du eine entsprechende Meldung.
Hast du denn den richtigen USB Port im Adapter ausgewählt?
Gruß
Gesendet von iPad mit Tapatalk Pro
-
Hallo,
ich bin neu im Forum und habe gleich eine Frage zum Modbus-Adapter in Verbindung mit einer Wago 750-841 und Alexa:
Die Kommunikation habe ich so einigermaßen hinbekommen. Da ich in CoDeSys den Stromstoß Baustein nutze, um auch mittels Taster und Webvisu das Licht zu schalten, brauche ich von von ioBroker auch eine "Tasteingabe". Dazu habe ich im Modbus-Adapter die Leuchten angelegt und im Cloud-Adapter hinzugefügt(siehe Bilder).
Bei den meisten Objekten funktioniert das mit folgendem Sprachbefehl: "Alexa, schalte Wohnzimmer", "…schalte Schlafzimmer", "...schalte Bad". Nur bei Abstellkammer und Flur muß ich ein "Licht" dahinter hängen, sonst erkennt er den Sprachbefehl nicht.
Bei der Küche ist es nochmal anders, da bekomme ich zwar ein OK, die Variable wird aber immer mit false neu gesetzt. Dort muß ich dann ein "...ein" hinten dranhängen, was dann aber von der Logik her verwirrend ist. Woher kommt diese Inkonsistenz? Die Einstellungen sind, soweit ich das überblicke, bei allen Objekten gleich. Hat das wirklich was mit den Namen zu tun?
Viele Grüße
Christoph
3462_screenshot_2017-09-05_23.02.26.png
3462_screenshot_2017-09-05_23.02.55.png -
Am besten stell diese Frage in nem neuen Thread im alexa unterforum. Hat ja mit modbus nichts zu tun wenn sonst alles funktioniert. Und fürchte ja, alexa war bei einigen raumnamen echt komisch
-
Vielen dank für den Tip. Ich denke eher, daß das Pro lem darin liegt, daß ich nicht vorgegebene Syntax verwende, da ich die Modbusadresse tasten muß. Ich dachte, ihr hättet in diesem thread eine Lösung dafür. Aber ich denke, ich werde besser einen neuen Baustein für die Wago erstellen, damit ich richtige Syntax verwenden kann, wie "…schalte Licht ein", "... Schalte Licht aus". Ich muß nur dann den wert der modbus Adresse mitändern, da ich die Lampe ja auch anderweitig schalte.
Gesendet von meinem H60-L04 mit Tapatalk
-
Hab in Deinem anderen Threat geantwortet.
Vielleicht hilft es ja noch.
-
Hi,
Versuche einfach serialport erneut zu installieren… wenn es schon installiert ist bekommst du eine entsprechende Meldung.
Hast du denn den richtigen USB Port im Adapter ausgewählt?
Gruß
Gesendet von iPad mit Tapatalk Pro `
Hallo,
wir hatten heut schlechtes Wetter und ich habe mir vorgenommen mal unser
ModBus system in Betrieb zu nehmen.
Nun stehe ich aber auch so da wie der User mit den Problemen
! modbus.0 2017-09-17 19:58:35.657 error Cannot create modbus master!
! modbus.0 2017-09-17 19:58:35.631 error Cannot open port "/dev/ttyUSB0" [57600]: ReferenceError: serialport is not defined
! modbus.0 2017-09-17 19:58:34.239 info starting. Version 0.5.3 in /opt/iobroker/node_modules/iobroker.modbus, node: v0.12.6
! host.Froeling 2017-09-17 19:58:22.682 info instance system.adapter.modbus.0 started with pid 970
! host.Froeling 2017-09-17 19:58:20.239 info instance system.adapter.modbus.0 terminated with code 0 (OK)
! modbus.0 2017-09-17 19:58:20.195 info terminating
! host.Froeling 2017-09-17 19:58:20.123 info stopInstance system.adapter.modbus.0 killing pid 959
! host.Froeling 2017-09-17 19:58:20.121 info stopInstance system.adapter.modbus.0
! host.Froeling 2017-09-17 19:58:20.118 info object change system.adapter.modbus.0
! modbus.0 2017-09-17 19:58:03.358 info List of port: [{"comName":"/dev/ttyAMA0"},{"comName":"/dev/ttyUSB0","manufacturer":"FTDI","serialNumber":"FTDI_USB_Serial_Converter_FT8VXGSB","pnpId":"usb-FTDI_USB_Serial_Converter_FT8VXGSB-if00-port[/spoiler]was meint Ihr mit serial port neu installieren?
ich dachte der FTDI USB RS232 is out of the box verwendbar mit dem RasPi und Raspbian?
Also im ModBus Adapter wird im Auswahlmenü ein ….USB0 angezeigt, den ich auch auswählen kann.
Nur leider kommt die Fehlermeldung immer bei egal was ich auswähle.
Glaubt Ihr, dass ist ein Adapter Problem oder eher ein Problem von demjenigen der vor dem PC sitzt, was ich nicht ausschließen möchte!
Grüße Tobi
-
Hi,
entweder Serialport neu installieren oder eventuell ein Problem mit Node.js.
Ich würde aber auf Serialport tippen.
Was meinst du mit````
ich dachte der FTDI USB RS232 is out of the box verwendbar mit dem RasPi und Raspbian?Gruß
-
Nachdem mein Solarteur eben meinen Wechselrichter offengelassen hat (Kostal Piko 5.5), den ich bisher über parsen des Webinterfaces auslese, habe ich gerade diese Platine mit Anschlussklemmen gesehen.
Jetzt stellen sich mir als Unwissendem folgende Fragen:
-
ist RS485 = ModBUS?
-
Welche Anschlüsse müsste ich nach außen legen?
-
Wie bekomme ich dann die Daten in den ioBroker
-
- in der "Nähe" wäre ein RasPi2, der als Slave bereits den Smartmeter ausliest
-
- direkt daneben wäre mein Netzwerkswitch
Danke für Hilfe
Rainer
-
-
Nachdem mein Solarteur eben meinen Wechselrichter offengelassen hat (Kostal Piko 5.5), den ich bisher über parsen des Webinterfaces auslese, habe ich gerade diese Platine mit Anschlussklemmen gesehen.
Anschlussleiste.jpg
Jetzt stellen sich mir als Unwissendem folgende Fragen:
-
ist RS485 = ModBUS?
-
Welche Anschlüsse müsste ich nach außen legen?
-
Wie bekomme ich dann die Daten in den ioBroker
-
- in der "Nähe" wäre ein RasPi2, der als Slave bereits den Smartmeter ausliest
-
- direkt daneben wäre mein Netzwerkswitch
Danke für Hilfe
Rainer `
Hi Rainer,
RS485 ist nicht gleich Modbus.
Wenn ich die Anleitung deines WR richtig überflogen habe kann er kein Modbus.
UM RS485 nutzen zu können musst du zwei Drähte haben die an Klemme "A" und "B" müssen. Vorzugsweise dann auch noch ein 120 Ohm Widerstand dazwischen auf beiden Seiten.
Muss man nur noch herausfinden in welchem Format die Daten auf der RS-485 Schnittstelle bereitgestellt werden.
Habe dazu das gefunden:
https://www.photovoltaikforum.com/daten … 37908.html
Gruß
Mirko
-
-
Hi,
entweder Serialport neu installieren oder eventuell ein Problem mit Node.js.
Ich würde aber auf Serialport tippen.
Was meinst du mit````
ich dachte der FTDI USB RS232 is out of the box verwendbar mit dem RasPi und Raspbian?Gruß ` Hi.
Ich dachte mir das ich den ftdi usb rs232 Wandler nur am Rpi anschließen muss und dieser Treiber bereits im Kernel vorhanden ist.
Den usb Wandler hab ich im MODBUS Adapter zuerst auch auswählen können. Aber nachdem ich jetzt auf 6.11.3 geupdatet habe, taucht nun kein Gerät mehr zum auswählen in der Liste des Adapters auf.??????
Ich habe mit apt-get install serialport -unsafe… Auch den serialport neu installiert.
Gibt es eine Möglichkeit das ganze nochmal darüber von a-z aufzuziehen ohne iobroker neu zu installieren?
Ist es ein Unterschied ob RPi B+ oder RPi 2/3?
Danke.
Gesendet von meinem D5803 mit Tapatalk
-
RS485 ist nicht gleich Modbus.
Wenn ich die Anleitung deines WR richtig überflogen habe kann er kein Modbus. `
Danke!
dann habe ich eben weniger zu lernen
Den Link kannte ich bereits von früher, als der WR mintiert wurde. Den habe ich aber gefunden als ich nach "Piko 5.5 Modbus" gesucht hatte.
Gruß
Rainer
-
Hi,
entweder Serialport neu installieren oder eventuell ein Problem mit Node.js.
Ich würde aber auf Serialport tippen.
Was meinst du mit````
ich dachte der FTDI USB RS232 is out of the box verwendbar mit dem RasPi und Raspbian?Gruß ` Hi.
Ich dachte mir das ich den ftdi usb rs232 Wandler nur am Rpi anschließen muss und dieser Treiber bereits im Kernel vorhanden ist.
Den usb Wandler hab ich im MODBUS Adapter zuerst auch auswählen können. Aber nachdem ich jetzt auf 6.11.3 geupdatet habe, taucht nun kein Gerät mehr zum auswählen in der Liste des Adapters auf.??????
Ich habe mit apt-get install serialport -unsafe… Auch den serialport neu installiert.
Gibt es eine Möglichkeit das ganze nochmal darüber von a-z aufzuziehen ohne iobroker neu zu installieren?
Ist es ein Unterschied ob RPi B+ oder RPi 2/3?
Danke.
Gesendet von meinem D5803 mit Tapatalk `
Was hast du den auf 6.11.3 upgedated?
Siehst du den USB RS485 Adapter noch wenn du in der Konsole````
dmesgGesendet von iPhone mit Tapatalk Pro