Modbus-Konfiguration

wonderfulworld

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

mein Aufbau:

Schneider-Electric-Steuerung M251 (Codesys 3.0 + Schneider-Extras)
Beckhoffknoten: BK9000
in dieser Reihe angeschlossen:
4 * KL1104 (4 Digitale Eingänge) + 1 * KL3208 (8 Analoge Temperaturwerte) + 4 * KL2114 (4 Digitalausgänge)

Jetzt wollte ich den Beckhoffknoten konfigurieren.

Channel 0: Funktionscode 03 (Read-Only) Offset 0 Länge 10 --> für analoge Temperaturklemmen
Channel 1: Funktionscode 03 (Read-Only) Offset 16 Länge 1 --> für Digitale Eingangsklemme
Channel 3: Funktionscode 16 (Write-Only) Offset 2048 Länge 1 --> für Digitale Ausgangsklemme

Wenn ich das konfiguriere bekomme ich keinen Fehler in meinen Bus. Außerdem kann ich die Eingänge von beiden Klemmen auslesen. Aber leider nicht schreiben.
Außerdem ist mir nicht klar, warum ich einen Offset von 16 für den Channel 1 brauche und warum da die Werte von den KL1104 drin stehen.

Wäre wirklich dankbar für eine Erklärung. Ich komme irgendwie nicht mehr weiter.

Danke
wonderfulworld
 
Also die komplexen Klemmen wie die KL3208 werden als erstes gemappt und für jeden Kanal werden 2 Wörter angelegt und zwar 1 Byte Status ein Leer Byte und dann das Prozessdatenwort, macht in Summe bei 8 Kanälen 16 Worte. Da die Klemme komplex gemappt wird also ein und Ausgänge hat wird kein DO auch einen Offset von 16 haben also 2048 + 16....
Denk an den WD (Watchdog) sobald einmal geschrieben worden ist, ist der WD aktiviert. Aber steht auch in der doku...
OK?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Feldbus,

vielen Dank für deine Hilfe. Sorry, dass ich erst jetzt schreibe, aber ich hatte erst jetzt Zeit deinen Tipp auszuprobieren.

Dummerweise funktioniert es bei mir immer noch nicht.
Folgende Fragen hätte ich:

1. Ich habe jetzt die Doku bestimmt zehnmal rauf und runter gelesen, aber was ist das Problem mit dem Watchdog (WD)? So richtig verstanden hab ich das noch nicht?
2. Ich habe jetzt folgenden Aufbau, musst ich noch leicht ändern:

BK9000
4 x KL1104
1 x KL3208
1 x KL2114
5 x KL2134

Konfiguriert hab ich folgendes:
Channel 0 (Für KL 3208 ):
Funktionscode 03
Offset 0
Länge 16

Channel 1 (Für 4 x KL1104):
Funktionscode 03
Offset 16
Länge 1

Und das funktioniert auch. Ich kann alle Eingänge super auslesen.

Jetzt hab ich gedacht, die Ausgänge bekomme ich so:
Channel 2 (Für 1 x KL2114; 5 x KL2134):
Funktionscode 16
Offset 2048 (Offset der Beckhoffklemme) + 16 (Offset für KL3208 )
Länge 2

Aber das tut nicht.

Ich habe dann schon andere Offset ausprobiert (0, 16 etc.) aber irgendwie klappt es immer noch nicht. Ich steh gerade mächtig auf dem Schlauch. Wäre für jeden Tipp dankbar.
Gruß
wonderfulworld

Edit: Smileys rausgemacht. KL3208 ) wurde automatisch zu KL3208)
 
Zuletzt bearbeitet:
Bekommst du denn eine Fehlermeldung? Sonst nimm die KL3208 erstmal raus und nimm nur DI/DO. Dann sollte der offset für die DO 0x800 hex sein. Aber wie gesagt die Fehlerantwort wäre wichtig zu wissen.
Gruss....
 
Zurück
Oben