VFD über RS485

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • VFD über RS485

      Moin,

      ich möchte im nächsten Schritt meinen VFD über RS485 ansteuern. Hat das schon jemand von Euch am Laufen?
      Ich habe einen Omron MX2, der identisch zum Hitachi WJ200 sein soll. Linuxcnc hat einen kompiliertes Modul schon im Bauch für den VFD (wj200_vfd).
      Sobald ich das einbinde, gibts aber eine Fehlermeldung, die besagt, dass libmodbus wegen input/output-error nicht starten kann...
      *grübel*
      Gruß

      Andreas
    • Hallo Andreas

      kannst du die Com Schnittstellen ansprechenden am Linuxrechner? Viele USB Konverter funktionieren nicht im RS485 Mode,

      was hast du im Verzeichnis "/proc/tty/driver/serial" und "/proc/tty/driver/usbserial" stehen? da findest du die verwendbaren Adressen.
      es müsste auch eine .conf datei im /etc Verzeichnis geben wo die Schnittelle eingetragen werden muss
      es ist auch möglich das die Schnittstelle als Parameter mitgegebenen wird.

      lg

      Fadi
      Images
      • serial.jpg

        96.23 kB, 595×296, viewed 12 times
      lG
      Fadi

      Baubericht der 107XL, Idee und Planung der Querfräse
    • Hi,

      die Schnittstellen passen soweit ich das beurteilen kann. Es scheint ein "Problem" mit dem Modul wj200_vfd von Linuxcnc zu geben. Das ist "hardcoded" auf ttys0, mein Adapter ist aber ttyUSB0. Scheint so, als müsste ich das einmal neu kompilieren, oder herausfinden, wie die Parameter richtig angegeben werden müssen, da das Modul diese lt Quellcode auch verarbeiten kann. Ich habe aber noch nicht rausgefunden wie die Syntax genau sein muss...
      Ich bleibe am Ball.....
      Gruß

      Andreas
    • hallo Andreas

      benutzt du ein Notebook oder einen Stand PC

      StandPCs haben wenn es nicht ganz neue sind immer einen rs232 Port. wenn der nicht nach außen geführt ist dann versteckt er sich auf einen nicht benutzten 10poligen Port am Mainboard. Vorsicht da gibt es aber unterschiedliche Pinbelegung.
      Zum testen würde ich diesen verwenden um zu sehen ob es an diesen Port funktioniert. Mit den USB Adapter funktioniert nicht alles und um die Fehlermöglichkeit auszuschließen würde ich zuerst direkt auf den Com-port des PCs testen. Es gibt auch billige Einsteckkarten die sich einfach mit "setserial" einrichten lassen. damit kann ich dann die IO-Adresse für /dev/ttyS0 anpassen.

      lg
      Fadi
      lG
      Fadi

      Baubericht der 107XL, Idee und Planung der Querfräse
    • Ich habe noch nur einen USB-RS485 Adapter. Ein RS232/RS485 Adapter ist bereits unterwegs....
      Parallel, wenn ich Zeit habe (nein, hab ich nicht), werde ich das neukompilieren versuchen - es wäre schon verlockend das über den USB-Adapter zum Laufen zu bekommen - RS232 Ports sterben langsam aus :(
      Ich nutze ein Mini-ITX-Board Asrock Q1900B.
      Gruß

      Andreas
    • Hallo Andreas

      auf den ersten Blick der Beschreibung des Mainboards habe ich gesehen dass das Board einen COM Header hat.
      den würde ich auch verwenden sonst hast du immer wieder Probleme.


      lg
      Fadi
      Images
      • asrok.jpg

        98.29 kB, 1,024×581, viewed 17 times
      • asrok2.jpg

        44.13 kB, 1,024×425, viewed 7 times
      lG
      Fadi

      Baubericht der 107XL, Idee und Planung der Querfräse
    • Hat sogar einen COM1 (siehe oben link in deinem Screenshot) - weiß ich doch aber alles, bin ja selbst "ITler" ;)
      Vielleicht hat zukünftige Hardware nur keinen RS232 mehr - deswegen der Versuch über den USB-RS485-Adapter. Bei anderen läuft der schon, liegt wohl wirklich nur an der etwas aufwendigeren Konfiguration(Kompilierung) des Linuxcnc-"Treibers" dafür.....aber thx...
      Gruß

      Andreas
    • Habe mehrere Asrock Q1900 hier am laufen und die sind wirklich super Board. Auch sehr Stromsparend verbrauch liegt bei ca. 10W. Auch die Nachfolger davon haben ein COM und Print Port Header Anschluss drauf. Man muss darauf achten, dass man die "M" Version davon nimmt da die anderen die Anschlüssen nicht drauf haben.
      LG.Mario

      The post was edited 1 time, last by mafe68 ().

    • Hallo zusammen,

      seit 15 Minuten hab ich es am Laufen! Genial. Es war wirklich diese zickige Schnittstellenproblematik, dass der wj200-hal-driver (warum auch immer) nicht über ttyUSB0 kommunizieren wollte. Mit einem RS232-RS485 Adapter lief es dann und nach einer Weile war dann auch die Basis-"Verdrahtung" in der HAL hergestellt. Ick freu mich so! Jetzt noch den Watchdog und das Alarmsignal einbinden und ich bin wieder ein großes Stück weiter in Richtung Komfort und Sicherheit!
      *freu*freu*freu*
      Ob ich meine ganzen Linuxcnc-Steuerungssachen mal auf den Blog stellen sollte? *grübel*
      Gruß

      Andreas
    • Hallo,

      ich bin bei Experimentieren auf ein kleines Problem gestoßen.

      Und zwar scheint es mit der Standard Baudrate von 9600 nicht möglich zu sein den Timeout mit 0.2sek zu überwachen

      Source Code

      1. setp watchdog.timeout-0 0.2

      Erst ab 1 Sek ist dies mit dem Treiber aus der Masterbranch vom Linuxcnc möglich.

      Ich hab mich dann ein bisschen umgesehen und bin auf diesen Branch gestoßen:
      github.com/oro06/linuxcnc/tree/oro06-wj200next => hier stehen mehr Pins zur Verfügung als im Standardtreiber und (das wichtigste) man kann die Treiber mit Parametern laden.

      Ich habe mir also den Branch geladen. Das Einzige was angepasst werden muss ist, in der wj200_vfd.comp die Zeile 19, hier steht

      Source Code

      1. include "wj200_vfd.h";
      Hier muss man den absolut Pfad zur wj200_vfd.h einsetzen, ich hatte mir die Dateien unter Downloads/VFD abgelegt (sieht so aus) (Normal liegen diese unter /src/hal/user_comps/wj200_vfd/)




      Ist das erledigt öffnet man ein Terminal und schreib folgendes

      Source Code

      1. sudo halcompile --install /home/user/Downloads/vfd/wj200_vfd.comp
      Der Vorgang sollte ohne Fehlermeldung abgeschlossen werden.

      Hinweis:
      Falls die Fehlermeldung erscheint, dass die modbus.h nicht gefunden wurden, muss man im
      Synaptic Manager das Paket libmodbus-dev noch installieren.


      Jetzt kann man in der Custom.hal das loadusr -W wj200_vfd erweitern:



      Source Code

      1. loadusr -W wj200_vfd --baud 38400


      Ist das erledigt kann man dann auch den Timeout auf 0.2Sek stellen (Wichtig Parameter C071 (RS485 Baudrate) im FU anpassen)

      Hier noch ein Bild aus der Halshow
      Gruß Ronny

      The post was edited 4 times, last by ronny130286 ().

    • Ich habe jetzt nach deiner Anleitung alles nochmal gemacht und es funktioniert. :)
      Habe nur "setp lut5.0.function 0x2" in "setp lut5.0.function 0x20" geändert. Damit hat es dann mit meinem Not-Aus funktioniert.

      Den Treiber, den ronny130286 verwendet, habe ich auch installiert. Leider bekomme ich immer Fehlermeldungen wenn ich die Baudrate in die custom.hal eingetragen habe. Habe diese dann in der "wj200_vfd.comp" geändert und den Treiber installiert. Danach konnte ich den Watchdog auch auf 0.2 stellen.

      So langsam bekomme ich es mit LinuxCNC auch hin.

      Vielen dank für die Hilfe!!
      Gruß
      Christian
    • Hallo zusammen,

      ich kämpfe ebenfalls an dieser Front. Erste Tests waren super, leider steigt der FU nach einiger Zeit aus.

      Frage zu LinuxCNC 2.8 und WJ200 via Modbus/RS-485:
      Ich habe einen USB-RS485 ebay Adapter im Einsatz. FU ist auf Modbus gestellt, Baudraten zwischen 9600 und 38400 ausprobiert (siehe oben im Thread) ; Parity N und E (keine, Gerade), Stoppbits 1 und 2 ausprobiert. Kommunikation mit Prodrive läuft absolut ohne Probleme.

      Wenn ich LinuxCNC frisch gestartet habe, dann kann ich idR auch die Spindel anlaufen lassen. Kein Problem. Wenn sie dann läuft, tauchen aber die Probleme auf: nach einer gewissen (nicht konstanten) Zeit hält der FU an.Häufig reagiert er auch nicht auf ein Stopsignal. is-alarm bleibt 0 (durchgehend); Watchdog (siehe Blog ANdreas) für den wj200 ist in LinuxCNC nicht aktiv. Klingt für mich nach Timeout zwischen beiden Parteien, wobei der FU irgendwann mit Halt reagiert (ist ja sinnvoll).
      Folgende Fragen:
      Am WJ200 ist ein kleiner Schalter, der einen Abschlusswiderstand zuschalten kann. Leider ist off/on nicht beschriftet, das Handbuch sagt auch nichts. Ich gehe davon aus, dass es wie bei den Schaltern für STO ist: off = links - richtig?
      Wie reagiert Modbus auf "verpolte" Leitungen? (nicht probiert)?- Ich habe SP und SN auf D+/D- gelegt und konnte kommunizieren - andere Polung nicht getestet.

      Die eigene Kompilierung wie oben beschrieben hatte ich ebenfalls durchgeführt.

      Habt ihr Ideen?

      Ich bin maximal frustriert und weiß nicht mehr weiter...
      Images
      • IMG_0096.jpg

        100.49 kB, 576×768, viewed 6 times
      Viele Grüße
      Guido
    • Benutzt du das Modul welches in Post 14 beschrieben wird?
      Ich hatte die gleichen Probleme wie du. Manchmal startet die Spindel, manchmal geht sie einfach aus. Es war auch egal welche Baudrate ich im FU eingestellt hatte.
      Ich habe LinuxCNC gelöscht und neu installiert. Mit dem Modul welches schon bei LinuxCNC dabei ist funktioniert alles ohne Probleme.
      Den Watchdog habe ich allerdings noch nicht eingebunden.
      Gruß
      Christian
    https://www.daswetter.com/