Modbus Tcp_any B&R

knuppel

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

meine Steuerung soll einen Modbus Slave abfragen. Dazu habe ich an die ETH Schnittstelle ein Modbus Tcp_any Gerät angeghängt und eine IP-Adresse vergeben. Funktionier!
Nun würde ich gerne diese IP Adresse ändern, dazu wird über den Webserve eine neue IP Adresse gesetzt. Mit der AsARCfg sollte dies dann doch gehen?

Mein Code:

Code:
if(changeIP_Cewe==1){
        Network.Functionblocks.CfgSetIPaddr_1.enable=1;
        strcpy(&Network.Data.IpAddress , IP_Cewe);
        Network.Functionblocks.CfgSetIPaddr_1.pIPAddr= (UDINT)&Network.Data.IpAddress;
        Network.Functionblocks.CfgSetIPaddr_1.Option=1;
        strcpy(&device_cewe[0],"IF2.ST1");
        Network.Functionblocks.CfgSetIPaddr_1.pDevice=(UDINT)&device_cewe[0];
        CfgSetIPAddr(&Network.Functionblocks.CfgSetIPaddr_1);         
        Network.Functionblocks.CfgSetIPaddr_1.enable=0;

Ich glaube ich bin hier auf dem Holzweg mit dieser Bibliothek?
 
Zusatz Info. Die Station befindet sich an IF2.ST1.

Mit der AsARCfg konnte ich zumindest die IP-Adresse der Steuerung (IF2) ändern (inkl. Subnetzmaske und Gateway).
Ich hoffe ich kann das auch für weitere Stationen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

mit dem Baustein wirst du die IP des Slaves sicher nicht ändern können. Mit dem Baustein kann man die IP Adressen der Schnittstellen der CPU anpasst werden, nicht die der Slaves.

Ich wüsste auch keine Möglichkeit ohne Neustart der CPU die Slaveadresse am Master zu ändern, bei Verwendung des Betriebsystemmasters.

Neben der Einstellung in der Configuration im AS würde es vlt. gehen in dem man die gesamte Konfig umschält. Dies ist aber nicht wirklich einfach. (Lib wäre dazu die AsIOMMan).

Einfacher wäre das Ganze wenn du nicht den Master vom Betriebssystem nimmst sondern mal vlt. bei B&R nachfrägst, ob Sie nicht eine Lib. hierzu haben. Manchmal haben die nicht offizielle Libs. Die werden zwar nicht supportet, aber helfen oft mals. Gerade beim Modbus TCP könnte ich mir gut vorstellen das B&R was hat, da es den internen Master glaube noch nicht schon immer gegeben hat.
 
Ich habe ein unsupportete Modbus Master Lib direkt von B&R. Diese verlangt aber, wenn sie als Master arbeiten soll, daß ich die Modbus Tcp_any geräte anlege und dort dann die IP-Adresse des Slaves angebe.
 
OK...Ein Beispielprogramm (keine Ahnung wo ich das her habe) arbeitet mit den Modbus Tcp_any Geräten.

Nun habe ich noch etwas gefunden, da arbeitet das Beispielprogramm mit IP-Adressen direkt im Programm. Komisch ;)
 
Zurück
Oben