Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 4 von 6 ErsteErste ... 23456 LetzteLetzte
Ergebnis 31 bis 40 von 58

Thema: RS485 Modbus Topologie ?

  1. #31
    Registriert seit
    25.06.2008
    Ort
    Blomberg/Lippe
    Beiträge
    1.276
    Danke
    50
    Erhielt 127 Danke für 121 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Kenne keinen Modbus Konfigurator. Wie gesagt, nutze Phoenix, kein Wago.

    Ich schätze mal das die Prio der Task nicht so hoch ist. Der PC hat ja auch wesentlich mehr Power, als die SPS. Der schafft das locker. Mit meinem Testtool (sowohl Windows als auch Linux) geh ich sogar runter auf 20 ms.
    Gruß
    Mobi


    „Das Einfache kompliziert zu machen ist alltäglich. Das Komplizierte einfach zu machen –
    das ist Kreativität“ (Charles Mingus).

  2. #32
    Kayle ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.10.2014
    Beiträge
    161
    Danke
    34
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Hallo zusammen,

    nach längerer Abwesenheit musste ich mal wieder an den Modbus ran. 3 Teilnehmer funktionierten ja bereits. Jetzt wollte ich 4 weitere Eigenbau Teilnehmer und einen Modbus Stromzähler an den Bus hängen. Also alles schon verkabelt, getestet ... nix geht mehr Ich dreh jetzt langsam wirklich am Rad mit dem Modbus, weil ich nicht weiß an was es genau liegt -> an meinen DIY Modulen oder an der Software. Mir ist beim Testen aufgefallen das auf den RS485 Modulen schon BIAS Widerstände verbaut waren.

    MAX485-Module-Sch1.jpg

    Die habe ich jetzt entfernt und versucht den Bus nur mit den beiden 120 Ohm Endwiderständen zu betreiben. Bis auf den gekauften Modbus Zähler geht nichts. Ich bekomme immer ein Timeout ( also die Wago zeigt Timeout ). An der Verkabelung kann es nicht liegen denn ich habe es jetzt so verkabelt:

    rs485.png
    BUS ist wie schon geschrieben mit 120 Ohm auf beiden Seiten terminiert. An die Senderichtung Umschaltung am MAX485 habe ich wie empfohlen mal eine LED gemacht. Die LED ist aus, bis die Wago Daten anfordert. Dann blitzt die LED kurz auf. Im Programm habe ich ja auch die Onboard LED des Arduino so programmiert, das wenn ein Telegramm angefordert wird diese blinkt. Das macht sie auch, nur kommt nix zurück. Dann habe ich nochmal den PC über einen RS485 USB Wandler angeschlossen. Dieser hat 2 LEDs. 1x Senden, 1x Empfangen. Wenn ich die Devices 1-5 abfrage geht nur die Sende LED an. Empfangs LED bleibt aus und ich bekomme im Programm einen Error Timeout. Wenn ich Device 50 abfrage erhalte ich sofort eine Antwort und beide LEDs gehen an.

    Da der Modbus Zähler ganz am Ende der Bus Leitung hängt gehe ich einfach mal davon aus das die Verkabelung stimmt. Dem Modbus Zähler ist es auch egal ob BIAS Widerstände eingebaut sind oder nicht, der geht immer Nur meine eigenen Module mit MAX485 nicht

    Der einzige "große" Unterschied zwischen meinen Modulen und dem Modbus Zähler ist die Spannungsversorgung. Zum Zähler gehen nur A+B und gespeist wird er über sein eigenes internes Netzteil. Meine Module werden zentral über +5V / GND im gleichen Kabel gespeist.

    Habt Ihr eventuell noch einen Tip wo ich suchen kann ?

    Gruß Kay
    Geändert von Kayle (27.02.2017 um 19:47 Uhr)

  3. #33
    Registriert seit
    13.03.2007
    Ort
    Nürnberg
    Beiträge
    484
    Danke
    49
    Erhielt 42 Danke für 38 Beiträge

    Standard

    Hast du schon die neuen Nodes allein, also einzeln getestet?

    Etwa so:
    > Dann habe ich nochmal den PC über einen RS485 USB Wandler angeschlossen.
    daran jeweils eins der neuen Module.

    Haben vielleicht die neuen Module die SELBE Node-ID ?
    Kabelsalat ist Gesund
    (vom CCC abgekupfert)

    Prognosen sind schwierig,
    besonders wenn sie die Zukunft betreffen.
    (Ursprung nicht wirklich bekannt)



  4. #34
    Kayle ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.10.2014
    Beiträge
    161
    Danke
    34
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Hi,

    zum Testen habe ich aktuell nur 1x Neue Node mit Node ID 4 und den Stromzähler mit Node ID 50 am PC / Wago hängen. Was mich halt stutzig macht ist die Tatsache das ja was an der Node ankommt und auch die Richtung umgeschalten wird. Also auf SENDEN geht die Node ja, sonst würde die LED ja nicht angehen.

    Gruß Kay

  5. #35
    Registriert seit
    25.06.2008
    Ort
    Blomberg/Lippe
    Beiträge
    1.276
    Danke
    50
    Erhielt 127 Danke für 121 Beiträge

    Standard

    Bei mir funktionieren meine selbstgebauten Module perfekt zusammen mit einer Wetterstation im Netz. Baudrate und Parität stimmen? Zeig mal deinen Code der Module.
    Gruß
    Mobi


    „Das Einfache kompliziert zu machen ist alltäglich. Das Komplizierte einfach zu machen –
    das ist Kreativität“ (Charles Mingus).

  6. #36
    Kayle ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.10.2014
    Beiträge
    161
    Danke
    34
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Code:
    // Libs deklarieren
    #include <ModbusRtu.h>
    #include <Wire.h>
    #include "Adafruit_SHT31.h"
    
    
    // Werte für Modbus deklarieren 
    #define TXEN 4 // Enable Pin
    #define ID 4 // Modbus Adresse
    #define SPEED 9600 // Baud
    Modbus slave(ID,0,TXEN); // Slave konfigurieren
    
    
    // Sensor deklarieren
    Adafruit_SHT31 sht31 = Adafruit_SHT31();
    
    
    // Array für Modbus default Variablen deklarieren
    uint16_t au16data[2] = {99,99};
    
    
    // Werte für Wartezeit Sensor deklarieren
    unsigned long previousMillis = 0;
    const long interval = 60000;
    
    
    // Werte für Modbus State LED deklarieren
    int8_t state = 0;
    unsigned long tempus;
    
    
    // Werte allgemein
    boolean toggle = false;
    
    
    
    
    // Setup Mode
    void setup() {
      pinMode(13, OUTPUT);
      pinMode(12, OUTPUT);
      slave.begin(SPEED);
      sht31.begin(0x44);
      tempus=millis()+100;
      digitalWrite(13,HIGH);
      digitalWrite(12,HIGH);
    }
    
    
    // Hauptprogramm
    void loop() {
     state = slave.poll(au16data,2);
    
    
     // Abfrage ob Werte über Modbus gelesen wurden
     if (state > 4) {
      tempus = millis() + 50;
      digitalWrite(13,HIGH);
     }
     if (millis() > tempus) digitalWrite(13,LOW);
    
    
     // Interval für Sensor Abfrage
     unsigned long currentMillis = millis();
     if (currentMillis - previousMillis >= interval) {
     previousMillis = currentMillis;
    toggle = !toggle;
    digitalWrite(12,toggle);
     uint16_t temp = sht31.readTemperature() * 10;
     uint16_t humi = sht31.readHumidity() * 10;
     au16data[0]=temp;
     au16data[1]=humi;
     }
     
    }
    Hier der aktuelle Code. Hast Du einen Schaltplan zu deinen Modulen ?

  7. #37
    Registriert seit
    13.03.2007
    Ort
    Nürnberg
    Beiträge
    484
    Danke
    49
    Erhielt 42 Danke für 38 Beiträge

    Standard

    da der Node 4 anscheinend etwas sendet, hilft fast nur auf die Leitung schauen.

    Habe ich so gemacht:
    a) 2 mal RS485 - TTL - RS232 - Wandler, beide auf NUR Empfang
    b) einen PC mit 2 Com-Port (RS232-USB geht auch)
    c) am PC mit dem kostenlosen Binterm die Daten beobachtet.

    Die Baud, 8-Bit, Stop-Parity stimmt auch ?

    Wenn die Baud langsam ist (300,1200) ginge grob auch ein Oszi). Ob dann aber eine Antwort oder NAK-Antort kommt, sieht man dabei aber nicht.
    mit a) b) c) schon, das Protokoll gibt es im web
    Kabelsalat ist Gesund
    (vom CCC abgekupfert)

    Prognosen sind schwierig,
    besonders wenn sie die Zukunft betreffen.
    (Ursprung nicht wirklich bekannt)



  8. #38
    Registriert seit
    25.06.2008
    Ort
    Blomberg/Lippe
    Beiträge
    1.276
    Danke
    50
    Erhielt 127 Danke für 121 Beiträge

    Standard

    Nicht verunsichern durch MOSI. Ich mappe im Programm den SPI um. Hauptsache Baud und Parität stimmen. Ich fahr mit 19200 und Even.
    Angehängte Grafiken Angehängte Grafiken
    Gruß
    Mobi


    „Das Einfache kompliziert zu machen ist alltäglich. Das Komplizierte einfach zu machen –
    das ist Kreativität“ (Charles Mingus).

  9. #39
    Kayle ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.10.2014
    Beiträge
    161
    Danke
    34
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Zitat Zitat von Senator42 Beitrag anzeigen
    da der Node 4 anscheinend etwas sendet, hilft fast nur auf die Leitung schauen.

    Habe ich so gemacht:
    a) 2 mal RS485 - TTL - RS232 - Wandler, beide auf NUR Empfang
    b) einen PC mit 2 Com-Port (RS232-USB geht auch)
    c) am PC mit dem kostenlosen Binterm die Daten beobachtet.

    Die Baud, 8-Bit, Stop-Parity stimmt auch ?

    Wenn die Baud langsam ist (300,1200) ginge grob auch ein Oszi). Ob dann aber eine Antwort oder NAK-Antort kommt, sieht man dabei aber nicht.
    mit a) b) c) schon, das Protokoll gibt es im web
    Das ist dann wohl der nächste Schritt. Dazu werde ich noch den LogicAnalyzer anklemmen. Baud und Parität habe ich kontrolliert. Es hat ja auch schon mit 3 "alten" Nodes funktioniert bis ich die 4te angeschlossen habe. Als das nicht ging habe ich den rappel bekommen und den Modulen die Bias Widerstände geklaut. Wollte damit erstmal einen "sauberen" bus schaffen. Jetzt geht nicht mal mehr 1 Node.

  10. #40
    Kayle ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.10.2014
    Beiträge
    161
    Danke
    34
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Mobi Beitrag anzeigen
    Nicht verunsichern durch MOSI. Ich mappe im Programm den SPI um. Hauptsache Baud und Parität stimmen. Ich fahr mit 19200 und Even.
    Mehr nicht ? Hast Du bias Widerstände ? Laufen bei dir die slaves über eine Spannungsversorgung?

Ähnliche Themen

  1. Nochmal KL6021 Modbus RS485
    Von cas im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 02.02.2013, 00:43
  2. Modbus RS485 Ascii
    Von vollmi im Forum Feldbusse
    Antworten: 3
    Letzter Beitrag: 02.11.2011, 11:08
  3. Profibus/DP vs. Modbus/RS485
    Von senmeis im Forum Feldbusse
    Antworten: 6
    Letzter Beitrag: 18.08.2011, 00:05
  4. Abschlusswiderstaende fuer Modbus (RS485)
    Von senmeis im Forum Feldbusse
    Antworten: 9
    Letzter Beitrag: 05.06.2011, 00:26
  5. Modbus RS485 Master
    Von bastian c im Forum Feldbusse
    Antworten: 4
    Letzter Beitrag: 23.04.2011, 13:30

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •