# Beckhoff mit MODBUS anbinden



## stefanhahhen (7 Januar 2013)

Hallo,
Ich habe eine Beckhoff CX-1000 und möchte auf dieser mit Hilfe von IP-Symcon(Visu-Software) meine Lampen ein- und ausschalten, sowie die Soll und Istwerte meiner Heizung ändern bzw anzeigen.

Ich habe folgendes Problem:
Die Adressen. Wie muss ich z.B. um eine Lampe anzusteuern vorgehen. Habe mir ein Modbus-Testprogramm(Modbus Poll) runtergeladen. Die Verbindung steht, doch ich sehe keine Veränderung in der SPS wenn ich Online bin und
mit dem Hilfen kann ich auch nix mehr anfangen!!! mit der Weile sehe ich vor lauter bits keine BYTES mehr.
Ich hab ja schon viel scheiße am Bein gehabt aber dass hier raubt mir den letzten Nerv!!!!!!

Kann mir da irgendjemand Helfen ??


----------



## Wutbürger (8 Januar 2013)

Hallo,

 hast du die Adressen auf der SPS- Seite überhaupt schon festgelegt?
 Sieh dir folgendes Beispiel mal an:  
IS: Modbus Adressbereiche

 Wenn beim MODBUS was unklar ist, findest du hier guten Lesestoff:
http://www.simplymodbus.ca/FAQ.htm
 Das ist ganz einfach, nur etwas umständlich mit dem Offset...  

 Der Wutbürger


----------



## uncle_tom (8 Januar 2013)

@Wutbürger
dein Link bezieht sich auf Modbus-RTU -                                                                                      *stefanhahhen* verwendet aber Modbus TCP

@                                                                                     *stefanhahhen*
wenn du mit Modbus-Poll eine Verbindung zur Beckhoff SPS aufbauen kannst, dann ist das ja schon mal gut.

In der Default Konfiguration des Modbus Servers wird jetzt der Merker-Bereich der Beckhoff-Steuerung ab Adresse 0 auf die Modbus-Register 0x3000 - 0x5FFF gemappt.

Siehe hier: http://infosys.beckhoff.com/content/1031/tcmodbussrv/html/tcmodbussrv_mapping.htm?id=21443

Wenn du also in der Beckhoff-Steuerung z.B. eine Word-Variable wie folgt addressierst:

TestWord AT% MB0 : WORD;

Dann solltest du via Modbus Holding Register 0x3000 (also 12288 dezimal) auf dieses Wort zugreifen können.


----------



## Wutbürger (8 Januar 2013)

uncle_tom schrieb:


> @Wutbürger
> dein Link bezieht sich auf Modbus-RTU -                                                                                      *stefanhahhen* verwendet aber Modbus TCP



Hallo uncle_tom,

danke für die Richtigstellung. Da hab ich in der Fülle an Information was falsch interpretiert... 

 Wäre die Adressierung und Zuordnung aber nicht dieselbe?
 Ich verwende Modbus schon länger nicht mehr, weil mir die Zählerei zu umständlich ist.

Der Wutbürger


----------



## stefanhahhen (8 Januar 2013)

Hallo,
ich werde das morgen ausprobieren.
Habe aber jetzt das Problem,dass der MOD BUS sich abschaltet einer Minute ca.

Was kann das sein und wie ändere ich das. Wenn ich die CPU neu starte geht es für ca. 1min.

MFG


----------



## uncle_tom (9 Januar 2013)

Also ich hab jetzt selber mal einen Testaufbau gemacht (Windows XP Maschine mit Twincat + Modbus TCP Server + Modbus Poll).

Das Funktioniert astrein so wie von mir beschrieben. D.h. auf die Merkeradressen ab Adresse 0 in Twincat kann man mittels Modbus Register 12288 und folgende zugreifen.
Das ganze läuft auch länger als 1 Minute.

@Wutbürger
Modbus TCP und Modbus RTU sind bei Beckhoff 2 paar Stiefel.
Modbus TCP läuft quasi als Windows-Dienst im Hintergrund, welcher die Speicherbereiche zwischen Modbus und Beckhoff-ADS mappt.
Für Modbus RTU muss im Twincat-Programm ein FB aufgerufen werden - dem FB werden dann entsprechend Variablen-Arrays übergeben, welche den Modbus-Ressourcen entsprechen.


----------



## stefanhahhen (9 Januar 2013)

Hallo 
Kann man denn irgendwo erkennen im der twincat ob dieser aktiv ist?
Oder muss ich das irgendwo einstellen.


----------



## uncle_tom (9 Januar 2013)

stefanhahhen schrieb:


> Hallo
> Kann man denn irgendwo erkennen im der twincat ob dieser aktiv ist?
> Oder muss ich das irgendwo einstellen.



steht doch in der Dokumentation zum Modbus TCP Server drin:



> *Nach der Installation*
> 
> Das Supplement-Produkt "TwinCAT Modbus TCP" wird automatisch durch das Setup      konfiguriert.​
> Weitere mögliche Schritte sind:​
> ...



da muss erstmal nichts weiter eingestellt werden - Die Defaultkonfiguration ist sofort nach der Installation automatisch eingestellt.


----------



## stefanhahhen (9 Januar 2013)

Ich habe es jetzt noch mal getestet. MODBus schaltet sich nach ca. 1min ab.
Ich nehme die Spannung weg, CPU fährt hoch, das Modbus-Testprogramm(Modbus Poll) zeigt mir Verbindung
und bevor ich was testen kann geht es;nennen wir es mal; aus !!!
was ja eigendlich nicht gehen sollte !!!

Einer ne Idee??


----------



## stefanhahhen (9 Januar 2013)

So...
habe jetzt eine Fehlermeldung / Hinweiß:
PLC: Warning POU>FB_ModbusTcpOpen< is unknown
PLC: Warning POU>FB_ModbusTcpOpenini< is unknown
PLC: Warning POU>FB_ModbusTcpClose< is unknown
PLC: Warning POU>FB_ModbusTcpOpeninit< is unknown


----------

