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

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

Thema: Modbusfunktion ausführen?

  1. #1
    Registriert seit
    02.10.2015
    Beiträge
    7
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich möchte über einen 750-880 Controller die DO's eines weiteren 750-880 Controllers per Ethernetkabel auslesen.
    Nach dem durchlesen der WAGO Anwendungshinweise verliere ich etwas den Überblick über Modbus UDP, RTU, TCP/IP etc...
    Eine generelle Frage: Ist die Verwendung der Modb_I05.lib für mein Vorhaben richtig?

    Ein weiteres Problem: der Baustein MODBUS_EXTENDED_MASTER benötigt in der Struktur ExtQuery die Daten für die Modbus-Anfrage. Wo genau kann ich diese Daten (SlaveAdress, FunctionCode usw.) eintragen?

    Letzte Frage: Ich habe öfter gelesen (bzw. es so interpretiert), dass die WAGO-Controller von Haus aus quasi eine Modbus-Slave-Funktion besitzen. Muss ich den auszulesenden Controller jetzt noch mit einem Slave-Baustein programmieren, oder nicht?
    Zitieren Zitieren Modbusfunktion ausführen?  

  2. #2
    Registriert seit
    07.11.2010
    Beiträge
    132
    Danke
    4
    Erhielt 18 Danke für 18 Beiträge

    Standard

    In der neusten Codesys Version von Wago gibt es einen Modbus Konfigurator damit erstellst du spielend leicht die Kommunikation.
    In dem Slave Controller musst du die Variabeln die du übermitteln willst nur so deklarierern das sie in einem bestimmten Merker bereich liegen. Dann kannst du sie auslesen. Gibt eine PDF die das erklärt von Wago

  3. #3
    Registriert seit
    30.01.2015
    Ort
    Hansastraße 27, 32423 Minden
    Beiträge
    125
    Danke
    6
    Erhielt 34 Danke für 25 Beiträge

    Standard

    Hallo PLVSPOL,

    für die Kommunikation zwischen zwei Wago Geräten per Ethernet wird Modbus UDP (Verbindungslos) oder Modbus TCP (Verbindungsorientiert) verwendet.
    Modbus RTU ist ein Protokoll für serielle Kommunikation.
    Alternativ wären auch Netzwerkvariablen eine Möglichkeit.

    Für die Modbus-Kommunikation wird, wie schon gesagt, die Bibliothek Modb_l05.lib angeboten.
    Unter folgendem Link findest du den entsprechenden Anwendungshinweis inkl. Beispielprogramm:

    http://www.wago.de/appnoteadmin/appn...m&utm_term=APN


    Wie Nost schon richtig geschrieben hat kannst du in der aktuellen CoDeSys auch den Modbus-Konfigurator nutzen.
    Dieser setzt ebenfalls auf dieser Biliothek auf, mit dem Unterschied, dass die Anwendung nur parametriert werden muss.
    Der Code wird automatisch generiert. Diese Vorgehensweise vereinfacht die Modbus Projektierung deutlich.
    Den Anwendungshinweis für den Konfigurator kannst du per Mail an support@wago.com beziehen.

    Auf dem Wago Gerät, welches als Slave dienen soll, muss keine Modbus Projektierung vorgenommen werden.
    Dort müssen ggf. lediglich die Daten in den entsprechenden Registern abgelegt werden.
    Eine Übersicht der Modbus Register findest du im Handbuch des entsprechenden Gerätes.
    In diesem Fall im Handbuch des 750-880 in Kapitel 12.2.4

    http://www.wago.de/download.esm?file...m&utm_term=MAN
    Geändert von .:WAGO::015844:. (13.10.2015 um 10:26 Uhr)
    Ihr/Euer

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

  4. Folgender Benutzer sagt Danke zu .:WAGO::015844:. für den nützlichen Beitrag:

    peliphan (13.10.2015)

  5. #4
    PLVSPOL ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.10.2015
    Beiträge
    7
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Vielen Dank mit dem Tipp zur Verwendung des Modbus-Konfigurators. Schön, wie der einem das Leben erleichtert!
    Jetzt fehlt mir noch folgendes:
    Im Konfigurator kann ich angeben, in welcher Art auf die Slave DI's bzw DO's zugegriffen werden kann. Wie konkretisiere ich aber, WAS bei einem schreibenden Zugriff geschrieben werden soll?
    Geändert von PLVSPOL (13.10.2015 um 11:18 Uhr)

  6. #5
    Registriert seit
    30.01.2015
    Ort
    Hansastraße 27, 32423 Minden
    Beiträge
    125
    Danke
    6
    Erhielt 34 Danke für 25 Beiträge

    Standard

    Hallo PLVSPOL,

    der Konfigurator legt dir im generierten Programm für jeden DI der DO eine Variable als Schnittstelle an. Den Variablennamen kannst du im Konfigurator frei vergeben. Diese Variablen musst du nun, je nach gewünschter Funktion, applikativ weiterverarbeiten.
    Ihr/Euer

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

  7. Folgender Benutzer sagt Danke zu .:WAGO::015844:. für den nützlichen Beitrag:

    PLVSPOL (13.10.2015)

  8. #6
    PLVSPOL ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.10.2015
    Beiträge
    7
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    nach einigem Probieren habe ich erneut ein Problem:
    Wie schon erwähnt stehen mir ja jetzt die generierten Variablen zur Verfügung. Der MB-Konfigurator hat den Baustein 'MBCFG_ModbusSlave' erstellt. Am Ende dieses Bausteins habe ich eine einfache IF/ELSE-Anweisung geschrieben, die mir den ersten DO bei einer 1 am ersten DI schaltet (mit den generierten Variablen). So weit, so gut. Bei laufendem Programm zeigt mir CoDeSys im Monitoring die richtige Funktion der Schleife an (wenn DI1 = TRUE, dann DO1 = TRUE), jedoch schaltet der DO der Klemme nicht (LED leuchtet nicht). Woran kann das liegen?

    Auf dem Slave-Controller befindet sich ein SPS-Programm. Ich habe im RUN- und im STOP-Modus getestet.
    Geändert von PLVSPOL (14.10.2015 um 07:48 Uhr)

  9. #7
    Registriert seit
    30.01.2015
    Ort
    Hansastraße 27, 32423 Minden
    Beiträge
    125
    Danke
    6
    Erhielt 34 Danke für 25 Beiträge

    Standard

    Hallo PLVSPOL,

    das kann verschiedene Ursachen haben.


    • Wie ist dein Hardwareaufbau?
    • Ist im Modbuskonfigurator der automatische Task aktiviert? Wird das generierte Programm in einem Task aufgerufen?
    • Wird der zu schaltende Ausgang in der Steuerungskonfiguration als geschaltet angezeigt? Ist die Feldebene mit Spannung versorgt?
    Ihr/Euer

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

  10. #8
    Registriert seit
    20.01.2012
    Beiträge
    98
    Danke
    0
    Erhielt 36 Danke für 34 Beiträge

    Standard

    Hallo,

    entschuldigt bitte, daß ich mich so mit reinhänge.

    @WAGO Support
    kann man bei den 880/881 Steuerungen mit Modbus direkt auf die Ein- und Ausgänge zugreifen. Bei der 841 muß man die Ein-/Ausgänge ja explizit für den externen Modbuszugriff freigeben und sie sind dann nicht mehr für den Controller verfügbar. In den Handbüchern zu 880/881 habe ich da nichts finden können. Der Kollege PLVSPOL versuch ja von einer 880 auf die Ein-/Ausgänge einer anderen 880 zuzugreifen.

    Gruß

  11. #9
    PLVSPOL ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.10.2015
    Beiträge
    7
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hardwareaufbau von links nach rechts:

    750-880
    750-430 (8-Kanal DI)
    750-530 (8-Kanal DO)
    753-647 (DALI-Klemme, 8x)
    750-600 (Endklemme)

    In der Taskkonfiguration wird der Baustein aufgerufen und die Spannungsversorgung ist auch vorhanden.
    Inwiefern ich jetzt in der Steuerungskonfiguration den Schaltzustand des Ausgangs überprüfen kann/soll, weiß ich nicht.

  12. #10
    Registriert seit
    30.01.2015
    Ort
    Hansastraße 27, 32423 Minden
    Beiträge
    125
    Danke
    6
    Erhielt 34 Danke für 25 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Thruser,

    das Verhalten vom 841 hat sich zum 88x nicht verändert. Allerdings handelt es sich hier eher um eine Zuweisung der EA's, als eine Freigabe.
    Es muss Grundsätzlich festgelegt werden, ob der Modbus oder das PLC Programm die Ausgänge schreiben darf um Komplikationen durch Doppelzugriffe zu vermeiden. Bei einem gewollten Doppelzugriff könnte man den Merkerbereich verwenden und Applikativ entscheiden, wer die Ausgänge schreiben darf.
    Bei Eingängen ist dies nicht so Problematisch, hier ist auch ein Lesen vom Modbus parallel zum PLC Zugriff möglich.
    Geändert von .:WAGO::015844:. (14.10.2015 um 10:17 Uhr)
    Ihr/Euer

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

Ähnliche Themen

  1. eigenen FB bedingt ausführen?
    Von big_L im Forum PHOENIX CONTACT
    Antworten: 1
    Letzter Beitrag: 17.01.2014, 06:05
  2. Flexible Befehle ausführen
    Von M.R. im Forum HMI
    Antworten: 14
    Letzter Beitrag: 30.01.2010, 13:34
  3. Bildaktion ausführen
    Von detoto im Forum HMI
    Antworten: 1
    Letzter Beitrag: 18.09.2009, 12:14
  4. Skript ausführen lassen
    Von magmaa im Forum HMI
    Antworten: 6
    Letzter Beitrag: 04.05.2009, 19:39
  5. skript ausführen
    Von tarzipan7 im Forum HMI
    Antworten: 6
    Letzter Beitrag: 03.12.2007, 16:03

Stichworte

Lesezeichen

Berechtigungen

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