Beckhoff Modbus Hardware

sablitos

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

Ich muss eine Kopplung über das Modbusprotokoll zwischen Beckhoff-CPU (Master) und Modbusgeräte (Mikrokcontroller Module- Slaves) realisieren. Die Modbusgeräte haben als Schnittstelle am Ausgang ein verdrilltes Kupferkabel (RS485).
Laut Beckhoff-Homepage gibt es folgende Varianten :

1) Cpu + Serielle Schnittstelle z.B kl6021

(Quelle : http://infosys.beckhoff.com/index.p...usrtubc/html/tcplclibmodbusrtu_common.htm&id=)

2) Buskoppler BK3700

(Quelle : http://www.beckhoff.com/default.asp?bus_terminal/bk7300_bk7350.htm)


Bei der ersten variante bin ich nicht ganz sicher ob man da ein Modbus Netzwerk realisieren kann (Linientopologie), das heißt eine Klemme (z.B KL6021) und mehrere Slave-Geräte oder muss man bei jedem Gerät eine neue Serielle-Schnittstelle benutzen.
Für die zweite Variante weiß ich überhaupt nicht was ein Buskoppler ist, ist das ein CPU ? laut Beckhoff Dokumente kann man damit ein Modbus-Netzwerk bauen, was mich hier wundert dass alles was man dafür braucht ist dieser Buskoppler-BK7300 (kein CPU, kein Netzteilmodul, keine Klemmen).
Meine Frage an euch ist nun ob jemand hier Erfahrung im Thema Beckhoff-Modbus hat und mir bei der Auswahl von der Hardware helfen kann. Mir geht zunächst nur um die Hardware Auswahl, ich muss das so schnell wie möglich bestellen. Softwaremäßig habe ich immer noch keinen Plan, aber darum werde ich mich später kümmern (wenn ich die Hardware habe).



Vielen Dank im Voraus
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Beckhoff Modbus

Danke für die Antwort, also der Buskopller BK7300 selbst wird als ModBus-Slave eingesetzt. was soll ich dann als Modbus-Master verwenden ( irgendein CPU oder gibt es welche die für Modbus-Protokoll geeignet sind)
 
Die Antwort steckt im 2. Link :wink:

Zielsysteme der RTU Bibliothek:

"Windows NT/2000/XP/Vista, Windows 7, Windows CE
PC (x86-kompatibel), Beckhoff-Windows-CE-Geräte, Beckhoff-Feldbus-Controller (BCxxxx, BXxxxx, IL230x-Cxxx)"

Auf deutsch alles was als Steuerung bei Beckhoff zu programmieren geht. Die Auswahl hängt daher sicher mehr von weiteren Aufgaben bzw. der benötigten Leistungsfähigkeit ab.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
wie bereits gesagt, funktioniert das mit jeder beliebigen programmierbaren Beckhoff-Steuerung ( angenfangen mit den programmierbaren Buskopplern (BC...) über die embedded Typen (CX...) bis zu den IPC-Typen.

Was du noch brauchst ist halt eine RS485 Schnittstelle. Das kann entweder wie von dir schon erwähnt eine Busklemme sein (z.B.) die KL6021 oder aber auch eine normale COM-Schnittstelle (sofern diese als RS485 ausgeführt) ist. Die COM-Schnittstellen sind meist billiger als die Busklemmenvariante.

Bei der KL6021 muss man noch aufpassen - die unterstützt nur max. 19200 Bit/Sec. als Baudrate. Wenn du höhere Baudraten brauchst dann gibt es die KL6041.

Weiterhin brauchst du für die Modbus-Kommunikation noch ein kostenpflichtiges Supplement (Softwarebibliothek) von Beckhoff.
 
kann man an die normale com(1...4) einen Wandler RS232<>RS485 stecken und das funktioniert dann auch noch ?

MfG CAS
 
Hallo ,


Vielen dank für die Antwort, also ich habe jetzt folgende Hardware :

- CX9010-0101 (CPU)
- 4 Mikrocontroller-Module (als Modbus-Slave-Geräte)

und ich werde folgende Hardware bestellen :

- BC8000 (Busklemmen Controller)
- KL6021 RS485-schnittstellenklleme ( Baudrate ist unwichtig, es handelt sich um einen Testaufbau )
- KL1408, KL2408, KL3444, KL3448 (Ein- und Ausgänge)
- ModbusRTU.lib


Aufbau : (der Kommunikationsaufbau entspricht der linien Topologie)


Ebene 1 : CK9010-0101
Ebene 2 : BC8000 + KL6021 + (Ein- und Ausgänge)
Ebene 3 : Die 4 slave-Module


Bezüglich der Verbindung dazwischen habe ich nun folgende Fragen :

1 - Die 4 Slave-Module sind in Reihe miteinander verbunden (mit zweidrahtleitung), auf dem Koppler BC8000
ist der Anschluß eine 9-poliger Sub-D Buchse, die Frage ist nun wofür brauche ich dann die RS485
Schnittstellen-Klemme KL6021 wenn ich die Slaves direkt auf dem Koppler anschliessen kann ????
2 - wie verbinde ich die CPU CX9010 mit dem Koppler BC8000 ??? (zusammenstecken ???)
3 - Brauche ich auch ein Netzteil-Modul z.B CX1100 oder Endklemme zB KL9010 ( wie schon erwähnt es geht um Testaufbau, also wenn das nicht nötig ist, werde ich das nicht benutzen )

letzte Frage bezüglich der Bibliothek 'ModbusRTU.lib', die Mikrocontroller-Module komunizieren nicht über
das 'Normale' Modbusprotokoll sondern über ein Ähnliches Protokoll (Physikalich ist alles identich wie beim Modbus). ich weiß aber nicht ob ich alle Kommunikationsbausteine selbst Programmieren muss :cry: (in diesem fall werde ich die Bibliotheke 'ModbusRTU.lib' nicht brauchen), oder kann ich trozdem 'paar' Funktionen der Bibliothek 'ModbusRTU.lib' verwenden und muss nur anpassen.


Danke im Voraus
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Servus,

also du schmeisst ja ganz schön um dich ....

Der BC8000 ist ein programmierbarer Buskoppler. D.h. da läuft bereits eine Mini-SPS drauf. Diese Mini-SPS ist aber nicht mit einem "Windows"-Twincat System wie z.B. bei deinem CX9010 zu vergleichen. Bei den BC´s gibt es z.B. keinen symbolischen Zugriff.

Über die Onboard RS485 Schnittstelle (9-polig Sub-D) könnte man z.B. deine Modbus-Slaves anbinden. Der Modbus-Master läuft dann direkt auf dem BC8000 - der CX9010 wird dann gar nicht benötigt.

Den BC8000 kann man eigentlich nicht vernünftig an den CX9010 anbinden - wenn dann müsste man dies auch über die RS485 Schnittstelle realisieren.

Programmiert wird der BC8000 über die kleine 5-polige TTL-Schnittstelle - da braucht man dann noch ein Adapter-Kabel.

Dein CX9010-0101 hat eine E-Bus Peripherie für Ethercat-Klemmen - deine K-Bus Klemmen KLxxxx kannst du damit nicht verwenden. Wenn du einen CX9010-1x01 hättest, dann könntest du deine Busklemmen direkt an den CX9010 anstecken.
Für den CX90xx gibt es auch noch die Nxxx Option - das sind COM-Schnittstellen die links neben der CPU stecken. Damit könnte man z.B. 2 RS485 Schnittstelle realisieren, die billiger sind als die 1 Klemmenvariante KL6xxx. Diese Nxxx Option kann nicht nachgerüstet werden, sondern muss mit bestellt werden !

Der K-Bus, also der Verbund der KLxxx Klemmen muss immer mit einer Endklemme KL9010 abgeschlossen werden.

Netzteil (CX1100) wird für die CX90xx Typen keines benötigt.

- KL6021 RS485-schnittstellenklleme ( Baudrate ist unwichtig, es handelt sich um einen Testaufbau )
Wenn deine Modbus-Slaves höhere Baudraten als 19200 verwenden, dann ist die Klemmenauswahl schon wichtig !

'Normale' Modbusprotokoll sondern über ein Ähnliches Protokoll (Physikalich ist alles identich wie beim Modbus
Was soll man denn damit anfangen ?
Beim seriellen Modbus gibt es entweder Modbus RTU oder Modbus ASCII. Bzgl. der Physik kann man den seriellen Modbus über RS485, RS422 oder RS232 betreiben.
Modbus ASCII kann man nicht mit der Beckhoff-Bibliothek betreiben.
Modbus ASCII wird aber eigentlich kaum verwendet - Standard ist RTU.

In Anlehnung an Modbus gibt es noch den J-Bus - das ist aber im Prinzip das selbe - man muss hier nur einen Versatz von 1 Registeradresse berücksichtigen.


So, ich hoffe ich hab ein bisschen Licht ins Dunkel gebracht ;-)
 
Hallo,

Vielen Dank du hast echt viel Licht ins Dunkel gebracht ( nicht nur ein bisschen;) ), das mit dem Embedded-PC CX9000 finde ich ein Super Tipp, da brauche ich nur die Systemschnittstelle CX9000-N031 (nur 75 Euro) und damit habe ich zwei RS485-Schnittstellen.
Was soll man denn damit anfangen ?
Der Befehl-Aufbau ist genau wie ModBus-RTU, die Adressierung ist aber anders (beim normalen Modbus gibt es ein Master und mehrere Slaves, die Module die ich habe sollen anders kommunizieren, ein Slave kann 'Interne Slaves haben' d.h ein Slave kann gleichzeitig Master sein ). d.h mit der Library ModbusRTU.lib kann ich nicht anfangen (wäre schön wenn das möglich ist). apropos Library ich weiß nicht wie das bei Beckhoff läuft, wenn ich eine Bibliothek bestelle, soll ich die Lizenz nur einmal bezahlen oder jedes mal wo ich diese Library benutze.

Nochmal vielen Dank und bis zum nächsten mal :p
 
Zurück
Oben