ModBus-TCP-Kopplung ILC 191 mit IO-Link Master

meilenbrok

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich versuche gerade das erste Mal eine Phoenix-SPS (IL C191 ETH 2TX) mit einem Phoenix IO-Link Modul (IOL MA8 PN DI8) über ModBus-TCP zu koppeln und auszulesen. Leider komme ich da mit den Anleitungen von Phoenix nicht weiter um entsprechend die Werte aus dem IO-Link-Modulen zu lesen.

Zur Konstellation:
- die SPS ist als Client eingerichtet (SPS.jpg und SPS2.jpg)
- der IO-Link-Master ist als Server eingerichtet (IOL.jpg)

An dem IO-Link-Master ist an Port 1 ein Druckaufnehmer und an Port 2 ein kapazitiver Grenzschalter angeschlossen. Vom Druckaufnehmer möchte ich Gleitkommawerte (Druck und Temperatur) und vom Grenzschalter die digitalen Schaltzustände auslesen. Im IO-Link-Master sehe ich diese Werte auch schon.

Die Kommunikation zwischen den beiden Geräten per ModBus läuft. Allerdings bekomme ich im IO-Link-Master eine Fehlermeldung angezeigt, die lautet: ModBus request of adress 21 (base1) out of range.

Meine Frage:
- was muss ich im IO-Link-Master einstellen, damit ich die Werte auslesen kann (IOL-Modbus1.jpg und IOL-Modbus2.jpg)?
- welche Modbus TCP-Adressdefinitionen muss ich in der SPS einstellen, das die Werte abgefragt werden können?
Dazu auch noch der Anhang IOL-Adressen1.jpg und IOL-Adressen2.jpg aus der Dokumentation des Gerätes.

Alternativ habe ich mir aus dem Beispielprogramm für die ModBus-Bausteine von PhoenixContact mal eine weitere Abfrage programmiert (SPS-ModBus.jpg). Nach Übertragung in die SPS sehe ich auch einen weiteren Client, der eine Abfrage an den IOL-Master (ModBus-Server) startet. Aber auch hier scheint der selbe Fehler mit den Modbus TCP-Adressdefinitionen vorzuliegen.

Ich hoffe, einer der Mitleser kann mir da weiterhelfen.
Schon mal vielen Dank im voraus.

Gruß, meilenbrok
 

Anhänge

  • SPS.JPG
    SPS.JPG
    254 KB · Aufrufe: 12
  • IOL.JPG
    IOL.JPG
    152,9 KB · Aufrufe: 11
  • IOL-ModBus1.JPG
    IOL-ModBus1.JPG
    199,4 KB · Aufrufe: 11
  • IOL-ModBus2.JPG
    IOL-ModBus2.JPG
    178,4 KB · Aufrufe: 10
  • IOL-Adressen2.jpg
    IOL-Adressen2.jpg
    287,6 KB · Aufrufe: 10
  • IOL-Adressen1.jpg
    IOL-Adressen1.jpg
    134,3 KB · Aufrufe: 13
  • SPS-ModBus.JPG
    SPS-ModBus.JPG
    346,3 KB · Aufrufe: 14
  • SPS2.JPG
    SPS2.JPG
    210,4 KB · Aufrufe: 15
Zuviel Werbung?
-> Hier kostenlos registrieren
@pvbrowser - Danke für deine Antwort.
Nachdem ich mich mehr eingelesen hatte und mit Hilfe des Phoenix-Support habe ich das ganze zum Laufen gebracht. Tatsächlich war ein Problem die Startardresse, die mit '0' und damit mit dem Register '999' beginnend zu lesen ist.
Das zweite Problem war die Master-ID, die man laut den Beschreibungen für Modbus nur bei ModbusRTU zwingend auf beiden Seiten benötigt. Aber auch in meinem Fall musste ich diese korrekt angeben. Nachdem ich das alles richtig am Baustein angegeben hatte, konnte ich auch die Register auslesen. Zur Dokumentation im Anhang dazu noch ein Bild mit den Bausteinen der SPS und wo was anzugeben ist.

Die Hardwarekopplung habe ich dann auch zum Laufen gebracht. Ebenfalls mit der Angabe des richtigen Modbus-Startregister '999'. Allerdings habe ich diese Kopplung wieder verworfen, da ich an den Bausteinen besser den Status überblicken kann.

Womit ich aber noch nicht ganz klar komme ist die Aufteilung bzw. Belegung der Modbus-Register. Festgestellt habe ich natürlich, das ich über die Einstellung der Länge der PDI DATA BLOCK SIZE im IO-Link-Master auch die Stelle der Werte in den ausgelesenen Registern verändere. Aber was und wieviel dann tatsächlich an Werten übertragen wird, kann das jeder Herstelle selber festlegen?

Als letztes noch ein Link zur Beschreibung des IO-Link-Master. Ist zwar ein anderer 'Hersteller', aber gleiches Gerät und die Bedienungsanleitung in Deutsch und umfangreicher als bei PhoenixConatct. Dieses Auch zur Dokumentation.

Gruß, meilenbrok
 

Anhänge

  • SPS-ModBus_new.JPG
    SPS-ModBus_new.JPG
    453,7 KB · Aufrufe: 7
OK,
auf Seite 112 in dem von Dir angeführten Manual ist übrigens ein schönes Schaubild zu finden.
Da wo in dem Schaubild eine Wolke ist, habe ich bei mir im Keller einen Raspi mit einem selber programmierten Modbus TCP Server,
der einem anderen Raspi, der die Gasheizung und ein paar andere Sachen macht, Daten eines Wasserboilers bereitstellt.

Dazu habe ich jetzt keinen aktuellen Link
aber hier findet man was aus der Vorbereitungsphase

Mein Eindruck ist:
Für Vieles ist Modbus der kleinste gemeinsame Nenner-
 
Zurück
Oben