Autor Thema: CoDeSys <-> easy E4  (Gelesen 368 mal)

Offline Dominik920

  • Newbie
  • *
  • Beiträge: 4
CoDeSys <-> easy E4
« am: Dezember 23, 2024, 12:01:35 Nachmittag »
Guten Tag Community.

Ich habe mich durch viele Threads und Google geschlagen, aber ich finde nichts was mir hilft.
Oder ich sehe den Wald vor lauter Bäumen nicht mehr :D

Ich verwende die E4 schon einige Zeit für mehrere Projekte, daher habe ich schon einige Erfahrungen mit der E4 gesammelt.
Für ein neues Projekt wird CoDeSys 3.5.16, ein XV300 sowie die I/O Module XN300 verwendet. Kommunikation über CAN.

Ich würde gerne eine E4 über Modbus TCP in CoDeSys einbinden und dort Eingänge lesen und Ausgänge schalten.

Modbus TCP Server ist in der easySoft aktiviert und MW01 bis MW512 ist Freigegeben.
Ich habe in CoDeSys eine TCP Master und Slave Verbindung für die E4 eingerichtet.
Im TCP Slave wird angezeigt das eine Verbindung besteht und keine Fehler vorhanden sind. Ich gehe also davon aus das der Bus läuft.

In der E4 habe ich zum Test einige Merker gesetzt, um zu sehen ob in CoDeSys irgendwas ankommt. 

Ich habe bereits versucht mehrere Register auszulesen mit verschiedenen Funktionscodes.
Aber irgendwie kommt in CoDeSys nichts an.

Habe ich vielleicht etwas grundlegendes übersehen?


Vielen Dank


Offline radar17892

  • Sr. Member
  • ****
  • Beiträge: 800
  • Think easy!
    • mollgruppe
Antw:CoDeSys <-> easy E4
« Antwort #1 am: Dezember 23, 2024, 22:08:55 Nachmittag »
Bei mir funktioniert das einwandfrei. Einzig FC23 geht nicht, das ist aber bekannt.
Du musst im Codesys die Register im Programm auch auf Variablen zuweisen.
« Letzte Änderung: Dezember 23, 2024, 22:43:54 Nachmittag von radar17892 »
Weil Einfach einfach Einfach ist!

Offline Dominik920

  • Newbie
  • *
  • Beiträge: 4
Antw:CoDeSys <-> easy E4
« Antwort #2 am: Dezember 24, 2024, 10:46:56 Vormittag »
Danke für deinen Beitrag, und frohe Weihnachten :)

Ich habe das nachgebaut wie es in deinen Screenshots zu sehen ist.

Ich habe in der easySoft ein kleines Programm geschrieben das mir 6 Merker setzte. Im Screenshot kann man in der Live Ansicht sehen das im MW5 ein Wert steht.

In CoDeSys ist der Wert allerdings weiterhin 0.

Kann das mit der Version des TCP Slave zusammenhängen?

Entschuldigt die Qualität der Screenshots, ich musste die Bilder in der Dateigröße beschneiden.



Offline radar17892

  • Sr. Member
  • ****
  • Beiträge: 800
  • Think easy!
    • mollgruppe
Antw:CoDeSys <-> easy E4
« Antwort #3 am: Dezember 24, 2024, 12:40:54 Nachmittag »
Man kann leider keine Details erkennen. Mach doch mal nur Screenshots von den wichtigen Ausschnitten, da passt dann auch die Auflösung.
Wichtig ist die Startadresse in hex. MW1 = Register 1001dec = 03e9 hex
MW5 = 03ed
Weil Einfach einfach Einfach ist!

Offline Dominik920

  • Newbie
  • *
  • Beiträge: 4
Antw:CoDeSys <-> easy E4
« Antwort #4 am: Dezember 24, 2024, 15:07:17 Nachmittag »
Ich hoffe das es jetzt besser zu erkennen ist.

Offline radar17892

  • Sr. Member
  • ****
  • Beiträge: 800
  • Think easy!
    • mollgruppe
Antw:CoDeSys <-> easy E4
« Antwort #5 am: Dezember 24, 2024, 15:46:15 Nachmittag »
Hast du mal die Variable E4_MW_5 irgendwo im Programm verwendet?
Kann wohl sein das die nicht verwendeten Variablen nicht aktualisiert werden.
« Letzte Änderung: Dezember 24, 2024, 15:48:13 Nachmittag von radar17892 »
Weil Einfach einfach Einfach ist!

Offline Dominik920

  • Newbie
  • *
  • Beiträge: 4
Antw:CoDeSys <-> easy E4
« Antwort #6 am: Dezember 24, 2024, 16:50:16 Nachmittag »
Das war es :D

Super, vielen dank :)

Ich habe da nichts weiter programmiert, weil ich mich erst darum kümmern wollte das der Bus funktioniert.