B&R Modbus RTU

Stephan_92

Level-1
Beiträge
26
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Servus zusammen,

ich sitze gerade an meinem ersten B&R Projekt und möchte mittels einer X20CS1030 (RS485) Karte auf einen Umrichter zugreifen. (Eigentlich Bocksimpel, 8 Variablen lesen)

Hardware.PNG

Jetzt habe ich ein Problem mit dem Devicestring ("FB_MBMOpen.pDevice:=ADR('SS1.IF1');") des MBMOpen Bausteins der laut Hilfe, die Verbindung zum Umrichter öffnet.

Ich werde allerdings aus der Hilfe nicht schlau was ich da genau jetzt einstellen soll.



Hat hier jemand eine Idee was ich falsch mache?


By the way: Der status Output des FB hat den Status 8252 -> Der Devicestring ist falsch.


Datenobjekt:
Datamodul.PNG

Code:
Software.PNG

Vielen Dank im voraus
 
Hallo Stephan,

der Fehler 8252 deutet darauf hin, dass dein .pDevice falsch ist.

Dein Device-String sollte folgendermaßen lauten: ADR('IF4.ST1.ST6.IF1')
Das ergibt sich daraus, wenn du von der SPS ausgehend die Steckplatz-Bezeichnungen verfolgst, bis hin zur seriellen Schnittstelle.
IF4 = CAN-Bus
ST1 = erster CAN-Teilnehmer
ST6 = sechstes Modul am X2X Bus
IF1 = Schnittstellenbezeichnung der seriellen Schnittstelle

EDIT:
Am besten du fährst mit der Maus über die serielle Schnittstelle, dann sollte ein Tooltip kommen wo der Device String nochmals angezeigt wird.

Mfg
Markus
B&R Dienstleister
http://www.ioswitch.at
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für die Antwort, bin gerade erst wieder an die Anlage gekommen.

Ich habe das jetzt so umgesetzt -> Funktioniert aber leider immer noch nicht. Irgendwas übersehe ich oder habe ich vergessen.

Fehler_Umrichter.jpg

Ich hab ganz stark im Verdacht das ich im Datenobjekt einen Fehler habe.
Datenobjekt.JPG

Ich verstehe noch nicht ganz wo ich diese Taskklasse aufrufen, bzw. verwenden muss das die auch bearbeitet wird, evtl. ist das auch schon das Problem.

Danke im voraus.
 
Servus ich bin gerade nochmal an er Anlage, Modbus läuft immer noch nicht, aber ich wollte mal meine aktuellsten Versuche hier zeigen.

Hier der Baustein mit dem B&R eigenen Beispiel und der Statusmeldung 8252. Mit der Hilfe kann ich nicht viel anfangen, da ich ja, dass eingestellt habe was wir oben geschrieben haben.
Baustein_Online.JPG
Hier noch das Datenmodul. Es sollen Messwerte aus einen Umrichter ausgelesen werden, deshalb auch die als Funktionscode. ausgelesen sollen im ersten Anlauf Byte 188 mit Länge 1 und Byte 226 mit Länge 1.
Datamodul.JPG
Hier der Devicestring, soweit ich das verstanden habe.
DeviceString.JPG

Hier die Konfiguration der Modbuskarte.
Konfigurationsdailog.JPG

Grüße Stephan
 
Zuletzt bearbeitet:
Servus zusammen,

nach langer Recherche bin ich jetzt mal ein Stückchen weiter gekommen (Glaub ich).
Für die Bibliotheken DVFrame und DRV_mbus benötigt man als Funktionsmodell am "Modbus-Gateway" -> Stream.
In meinem Hardwareaufbau
C30 PowerPanel -> CAN -> X20BR7300 -> X2X -> X20CS1030, kann dieser allerdings nicht verwendet werden, da hier nur das Funktionsmodell CANIOBuscontroller verwendet werden kann, was dem Flatstream entspricht.

Jetzt komm ich an den Punkt den ich als B&R Neuling nicht kapiere, die Verwendung der Bibliothek "AsFltGen".

Ich führe den Thread weiter um evtl Leuten zu helfen die mal an dem gleichen Punkt stehen wie ich. Bei meiner Recherche im Internet hab ich nichts hierzu gefunden. Und vielleicht kann mir ja jemand weiterhelfen ;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
an dieser Stelle kannst du eigentlich aufhören, da das "Streaming" nur bei IF- Karten oder bei CS- Karten direkt am X2X einer CPU funktioniert.
Lösung:
a) du schreibst dir eine Modbus- Kommunikation selbst und fütterst damit die jeweils 7 Bytes in Lese- und Schreibrichtung des IO- Mappings
b) du verwendest ein C30, dass eine eingebaute RS422/485 hat
c) du verwendest ein Frequenzumrichter, der ein CANopen- Interface hat (z.B. ACOPOSinverter)
 
an dieser Stelle kannst du eigentlich aufhören, da das "Streaming" nur bei IF- Karten oder bei CS- Karten direkt am X2X einer CPU funktioniert.

Das ist nicht ganz korrekt, denn der Stream/Cyclicstream Mode einer X20CS1030 funktioniert grundsätzlich auch hinter einem X20BC0083 am Powerlink, allerdings eben nicht hinter einem X20BC0073 via CAN Bus wie er hier in Verwendung ist.

an dieser Stelle kannst du eigentlich aufhören, da das "Streaming" nur bei IF- Karten oder bei CS- Karten direkt am X2X einer CPU funktioniert.
Lösung:
a) du schreibst dir eine Modbus- Kommunikation selbst und fütterst damit die jeweils 7 Bytes in Lese- und Schreibrichtung des IO- Mappings
b) du verwendest ein C30, dass eine eingebaute RS422/485 hat
c) du verwendest ein Frequenzumrichter, der ein CANopen- Interface hat (z.B. ACOPOSinverter)

Hier scheint mir a) unter Verwendung der AsFltGen Library eine gute Lösung zu sein, sollte die HW bereits vorgegeben sein.
Das Modbus Protokoll ist nicht sonderlich komplex und dazu lässt sich einiges im Internet finden.
 
Vielen dank euch,

aber das ausprogrammieren der Modbus Kommunikation, will ich nicht machen.
Bin jetzt auf eine X20CP0482 mit X20PS9600 und dem vorher schon verwendeten X20CS1030 umgestiegen.
Jetzt läuft es soweit.

Danke trotzdem
 
Zurück
Oben