Hallo Forum Nutzer,

ich habe ein großes Problem mit der Kommunikation zwischen einer Wago PLC 750-881 und einen Arduino.

Ich benutze eine parametrierbare Klemme 750-652 die über ein Linksprite Shield 485 mit den Arduino per Modbus kommunizieren soll.

Das jeweilige Modbusprogramm war kein Problem (gab es ja schon fertig!!)

Die Kommunikation via USB Kabel und Modscan32 klappt auch. Bekomm auch die Werte die ich haben möchte. Aber wenn ich das Shield + Arduino mit meiner
652 Klemme verbinde, passiert nichts! Habe natürlich geschaut, ob RX und TX nicht vertauscht sind, sowie den Extended Master Slave-Baustein meines Erachtens
richtig parametriert. Zudem hab ich die Variante mit dem Modbuskonfigurator benutzt, wo man halt nur eine Variable erzeugt und diesen dann der seriellen Klemme
mit Adresse zuweist.

Leider bin ich völlig am Ende mit meinem Latein und hoffe nun auf Hilfe!


Hier meine Klemmenkonfig in Codesys:

MBCFG_COM_SER_OBJECT := ( ASCII_Mode := FALSE,
COM_PORT := 2,
COM_BAUDRATE := BAUD_9600,
COM_PARITY := PARITY_NO,
COM_STOPBITS := STOPBITS_1,
COM_BYTESIZE := BS_8,
COM_FLOW_CONTROL:= HALFDUPLEX,
TIME_OUT := t#100ms);


Aufruf der zu lesenden Variable:

( Functioncode := 3,
ReadStartAddress := 40001,
ReadQuantity := 2,
WriteStartAddress := 0,
WriteQuantity := 0,
ptReadData := 0,
ptWriteData := 0 )


Hier die Angabe des Modbusprogramms:

Slave ID = 2
Baudrate = 9600

Beim Durchforsten der Header-Dateien habe ich den Rest herausgefunden:

Bytegröße = 8
Parität = keine
Stoppbit = 1

halt kurz und knapp "8N1"

Mit diesen Einstellung kann ich per Modscan die Werte aus dem Arduino lesen!

2015-10-28 15_51_59-ModScan32 - ModSca1.png

Bitte kann mir jemand helfen, ich weis grad wirklich nicht mehr weiter!!

Danke für Euer Interesse im Voraus!