Bin neu hier und es ist mein erster Beitrag.
Wir haben eine PLC, welches als ModbusTCP Master fungiert (wird nicht mit Codesys programmiert) und die Pilz PMCprimoC für die Ansteuerung von Servoantrieben im Einsatz. Die Kommunikation via ModbusTCP zwischen PLC und der Servokarte besteht inzwischen, jedoch stört mich eines sehr an Codesys:
Ich kann im Eintrag Ethernet >> ModbusTCP_Slave zwar die Anzahl Register und die Registeradresse (z.B. IW10) eingeben, jedoch werden die einzelnen Bitadresse automatisch vergeben. Die aut. Vergabe ist bei Regsiteradresse %IW10 dann laut Codesys "%QX20.0; %QX20.1; usw." statt "QX10.0". Habe bereits Hersteller von der Karte und Codesys um Hilfe gebeten, aber der Erste konnte nicht und der Zweite wollte nicht.
Habt jemand die gleichen Probleme? Konntet ihr das umstellen oder "lebt" ihr einfach damit?
Danke euh schon im Voraus
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Mal davon abgesehen dass ich das Addresierungsmodell so wie es ist völlig in Ordnung finde (Ich weiß, S7 Programmierer sehen das anders...)
gab es in der V2.3 die folgende Option in den Zielsystemeinstellungen:
Byte-Adressierung
aktiviert: die Adressierung erfolgt byte-weise (z.B. var1 AT %QD4 erhält Startadresse %QB4)
Ich denke das hätte die Änderung zur Folge die du dir wünschst.
Leider kenne ich diese Option aus V3 nicht.
Gruß Erik
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Zitat:
"Habt jemand die gleichen Probleme? Konntet ihr das umstellen oder "lebt" ihr einfach damit?"
Ich sehe das Problem gar nicht.
Wenn man sich mal eine Speicherbelegung vor Augen führt, dann liegen die Daten ja folgendermaßen:
Byte 0 / Byte 1 / Byte 2 / Byte 3 / Byte 4 usw...
Wort 0 / Wort 1 / Wort 2
DWORD 0 / DWORD 1
Folglich kann ja Wort 1 nicht bei Byte 1.0 anfangen, denn da liegt ja noch die 2. Hälfte von Wort 0.
Und DWORD 1 kann erst ab Byte 4 loslegen
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Danke für eure Antworten! Ja wie schon bemerkt komme ich aus der "SIEMENS Welt" und dort wäre es QW10 --> QX10.0, QX10.2, etc. und nächstes Word QW12.
Gruss Alper
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo zusammen
Bin neu hier und es ist mein erster Beitrag.
Wir haben eine PLC, welches als ModbusTCP Master fungiert (wird nicht mit Codesys programmiert) und die Pilz PMCprimoC für die Ansteuerung von Servoantrieben im Einsatz. Die Kommunikation via ModbusTCP zwischen PLC und der Servokarte besteht inzwischen, jedoch stört mich eines sehr an Codesys:
Ich kann im Eintrag Ethernet >> ModbusTCP_Slave zwar die Anzahl Register und die Registeradresse (z.B. IW10) eingeben, jedoch werden die einzelnen Bitadresse automatisch vergeben. Die aut. Vergabe ist bei Regsiteradresse %IW10 dann laut Codesys "%QX20.0; %QX20.1; usw." statt "QX10.0". Habe bereits Hersteller von der Karte und Codesys um Hilfe gebeten, aber der Erste konnte nicht und der Zweite wollte nicht.
Habt jemand die gleichen Probleme? Konntet ihr das umstellen oder "lebt" ihr einfach damit?
Danke euh schon im Voraus
Das liegt wohl am Adressierungsmodell von Codesys.
Moin
Mal davon abgesehen dass ich das Addresierungsmodell so wie es ist völlig in Ordnung finde (Ich weiß, S7 Programmierer sehen das anders...)
gab es in der V2.3 die folgende Option in den Zielsystemeinstellungen:
Byte-Adressierung
aktiviert: die Adressierung erfolgt byte-weise (z.B. var1 AT %QD4 erhält Startadresse %QB4)
Ich denke das hätte die Änderung zur Folge die du dir wünschst.
Leider kenne ich diese Option aus V3 nicht.
Gruß Erik
Ich sehe das Problem gar nicht.
Wenn man sich mal eine Speicherbelegung vor Augen führt, dann liegen die Daten ja folgendermaßen:
Byte 0 / Byte 1 / Byte 2 / Byte 3 / Byte 4 usw...
Wort 0 / Wort 1 / Wort 2
DWORD 0 / DWORD 1
Folglich kann ja Wort 1 nicht bei Byte 1.0 anfangen, denn da liegt ja noch die 2. Hälfte von Wort 0.
Und DWORD 1 kann erst ab Byte 4 loslegen
Danke für eure Antworten! Ja wie schon bemerkt komme ich aus der "SIEMENS Welt" und dort wäre es QW10 --> QX10.0, QX10.2, etc. und nächstes Word QW12.
Gruss Alper