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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Wago 750-881 RS485 Modbus Zugriff auf Register

  1. #1
    Registriert seit
    19.10.2014
    Beiträge
    161
    Danke
    34
    Erhielt 3 Danke für 3 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    aktuell schreibe ich per Ethernet Modbus Variablen direkt in die Register ( ab 12228 ) in den Wago Controller. Geht das auch mit dem 750-653 Schnittstellenmodul ? Also das ich direkt über RS485 Modbus die Register beschreiben kann, ohne eine Zeile Programmcode.

    Gruß Kay
    Zitieren Zitieren Wago 750-881 RS485 Modbus Zugriff auf Register  

  2. #2
    Registriert seit
    30.01.2015
    Ort
    Hansastraße 27, 32423 Minden
    Beiträge
    30
    Danke
    0
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Hallo Kay,

    ohne Code geht es leider nicht. Du kannst den Funktionsbaustein MODBUS_EXTENDED_SLAVE aus der Modb_l05.lib verwenden.
    Das Datenarray des Bausteins kannst Du dann in den Merkerbereich mappen: typData AT %MW0 : typSlaveData;

    Grüße
    Ihr/Euer

    WAGO Support Team
    WAGO Kontakttechnik GmbH & Co. KG
    http://www.wago.com
    mailto:support@wago.com
    phone: +49 (0) 571 887 - 555

  3. Folgender Benutzer sagt Danke zu .:WAGO::016346:. für den nützlichen Beitrag:

    Kayle (24.08.2015)

  4. #3
    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 Wago Support Team,

    danke für die Antwort. Wie schon oben beschrieben schreibe ich aktuell Daten per Ethernet direkt in die Register. Die Daten kommen von einem Arduino über RS485 ( eigenes Protokoll, kein Modbus ) an einen Raspberry Pi mit Pythonscript. Dieses schickt per Modbus die Daten an meine Wago. Jetzt möchte ich den Raspberry Pi gegen etwas Industrietaugliches ersetzen.

    Kurz zu meiner aktuellen Hardware:

    - mehrere Raumthermostate die per RS485 BUS untereinander verbunden sind. Die Thermostate bestehen aus einem Arduino und HDC1000 Temp und Feuchte Sensor.

    Das Protokoll ist kein Modbus. Es besteht aus einfachen ASCII Befehlen -> ST,01,GV,SP ( Start, Adresse, GetValue, Stop ). Sobald dieses Telegramm beim Busteilnehmer ankommt werden die Werte Temp und Feuchte zurückgeschickt. Das funktioniert in Verbindung mit dem Raspberry ganz gut. Geht das auch mit einer Wago 750-xxx RS485 Klemme ? Also kann ich die zu sendenden Daten und das was zurück kommt selbst bestimmen und auswerten oder sollte ich die Arduinos besser als Modbus Teilnehmer programmieren ? Bin in dieser Richtung noch voll Anfänger.

    Vielen Dank im Voraus
    Gruß Kay

  5. #4
    Registriert seit
    30.01.2015
    Ort
    Hansastraße 27, 32423 Minden
    Beiträge
    30
    Danke
    0
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Hallo Kay,

    Du kannst den Funktionsbaustein SERIAL_INTERFACE aus der Bibliothek Serial_Interface_01.lib verwenden. Falls Du die konfigurierbare Version (750-653/000-003) der seriellen Schnittstelle hast, kannst Du an den Eingängen des Bausteins die serielle Schnittstelle parametrieren.
    Ansonsten kannst Du die Parameter auf terminal_default stellen, da die Parameter der Schnittstelle festgelegt sind.
    Wenn Du die Serial_Interface_01.lib im Bibliotheksverwalter hinzufügst, wird automatisch die SerComm.lib angezogen. In dieser Bibliothek findest Du unter dem Reiter Datentypen die Enumerationen der Schnittstellenparameter, diese können zum Parametrieren des Bausteins SERIAL_INTERFACE genutzt werden.
    Um Daten zu senden kannst Du die Adresse deines Strings oder Array an den Eingang ptSEND_BUFFER übergeben und die Anzahl der zu sendenden Bytes an iBYTES_TO_SEND legen. Mit dem Setzen des Bits xSTART_SEND weden die Daten gesendet.
    Werden Daten empfangen werden diese in der Struktur utRECEIVE_BUFFER gespeichert. Das Array Data enthält die empfangen Bytes und die Variable Index die Anzahl der Empfangenen Bytes. Wenn Du die Bytes ausgewertet hat, kannst Du vor dem Senden des nächsten Befehls den Index wieder auf null setzt. Somit liegen die empfangen Daten immer ab dem ersten Arrayelement bereit.

    Grüße
    Ihr/Euer

    WAGO Support Team
    WAGO Kontakttechnik GmbH & Co. KG
    http://www.wago.com
    mailto:support@wago.com
    phone: +49 (0) 571 887 - 555

  6. #5
    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 und vielen Dank für die Antwort.

    Ich muss mir das in Ruhe erstmal durchlesen und verstehen.

    Gruß Kay

  7. #6
    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 Wago Support Team,

    noch eine Frage. Ich werde mir jetzt die 750-653 Klemme kaufen um damit auf meine Raumthermostate zuzugreifen. Ich habe allerdings noch ein Verständnisproblem:

    Ich kann meine Arduino Controller als Modbus Master und Modbus Slave betreiben. Ist meine Wago festgelegt auf Master oder Slave ? Da steige ich noch nicht ganz durch, wer jetzt Master und wer jetzt Slave ist. Könnt Ihr mir da auf die Sprünge helfen ?

    Danke im Voraus
    Gruß Kay

  8. #7
    Registriert seit
    09.12.2011
    Beiträge
    52
    Danke
    2
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Hei,

    bei mir im Haus habe ich mehrere Arduinos per Modbus und RS232 mit einer 750-652 (serielle Schnittstelle) an einen PFC200 angebunden.
    Das funktioniert wunderbar.

    Hier als kleines Beispiel:
    https://www.youtube.com/watch?v=-4rBRaiAmNc

    Mittlerweile sendet dieser Arduino (Modbus Slave) über 70 Temperaturmesswerte aus meinem Schichtspeicher an eine Wago SPS (Modbus Master).
    Das Schöne am RS485 ist, dass ich da einfach weitere Arduinos dran hängen kann...
    Für Arduino gibt es ja schöne Beispiele mit einer Modbus Slave Bibliothek.

    Ach, noch ein kleiner Hinweis: versuche nicht zu viele Variablen am Stück zu übertragen!
    Das führt zu Kommunikationsproblemen wegen begrenzten Pufferkapazitäten.
    Bei den 70 Temperaturmesswerten lese ich immer nur ein Drittel pro Abfrage aus.


    Grüße,

    Tom
    Geändert von Booner (13.10.2015 um 17:06 Uhr)

  9. #8
    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 Tom,

    Danke für Deine Antwort. Deine Beschreibung ist genau das was ich suche. Es wäre nett wenn Du Deinen Aufbau erklären könntest ( wie z.b. welche arduino library genau ). Bei mir sind es 10 Sensoren. Diese 10 sollen ihre Daten: 1x Temp und 1x Luftfeuchte an die Wago jede Minute senden.

    Danke und Gruß Kay

  10. #9
    Registriert seit
    09.12.2011
    Beiträge
    52
    Danke
    2
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Hei,

    ich habe (glaube ich ) diese hier genommen:
    https://code.google.com/p/simple-modbus/

    Scheint aber mittlerweile andere Libraries auch zu geben.
    Bin nicht mehr auf dem aktuellen Stand.

    Dann einfach einen kleinen RS485 Treiber (z.B. MAX485) an die serielle Schnittstelle des Arduino angeschlossen.
    Dieser Treiber braucht einen Pin vom Arduino um von Empfangen auf Senden umzuschalten.
    In der Lib kann man einen Pin definieren, der das macht.

    In der SPS habe ich einen Modbusmaster erstellt. Irgendwo findet sich dazu ein Anwenderhinweis. Daraus einfach mal das Beispielprogramm nehmen.
    Mit dem neuen Modbustool von Wago habe ich noch nicht gearbeitet. Was man aber so hört, soll das damit total easy sein?

    In dem Youtubevideo hab ich den Arduino an der Serviceschnittstelle des Wago-Controllers angeschlossen.
    Das spart erstmal den Kauf einer Schnittstellenklemme, kann aber den Controller in den SPS-Himmel befördern!
    Praktischerweise hat diese Serviceschnittstelle auch TTL-Pegel wie der Arduino (5V)

    Nun solltest Du einige Anlaufstellen haben, mit denen Du auch Google füttern kannst. Denn das Einlesen und Verstehen kann Dir nun leider keiner abnehmen...


    Viele Grüße,

    Tom

  11. #10
    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
    Hallo Tom,

    an meine arduinos habe ich bereits je einen rs485 Wandler angeschlossen. Ich werde mich in das Thema einlesen. Allerdings verstehe ich eines noch nicht: sendet jetzt der master oder der slave?

    Gruß kay

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 12.05.2015, 17:13
  2. Antworten: 0
    Letzter Beitrag: 22.08.2013, 13:52
  3. Antworten: 1
    Letzter Beitrag: 21.01.2013, 11:00
  4. Kein Zugriff auf Wago 750-881
    Von composti im Forum WAGO
    Antworten: 2
    Letzter Beitrag: 22.12.2012, 11:55
  5. Wago 750-812 Modbus RS485 Controller
    Von bastian c im Forum CODESYS und IEC61131
    Antworten: 10
    Letzter Beitrag: 14.08.2012, 16:24

Lesezeichen

Berechtigungen

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