PDO-Eigenschaften zur Laufzeit ändern

Lucas_

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

für eine seit Jahren verwendete und immer wieder modifizierte Steuerung brauche ich nun sporadisch eine zusätzliche Eingangskarte. Codesys 2.3 läuft auf einer Softplc im Eaton-Touchscreen. Der Kunde mit mehreren Anlagen soll beim Einsatz eines Ersatzteils in der Lage sein über den neuen Screen die Konfiguration der Wago 750-337 mit 2 oder 3 16DIN-Karten wählen können.

Nun habe ich mit 3S_CANOpenDevice.lib herumexperimentiert mit dem Ziel die PDO-Eigenschaften zur Laufzeit zu ändern (CANOpenDev[0]SetupPdoTabel();) und wahlweise 4 oder 6 inputblocks zu verwenden.

Allerdings klemmt es …
Für das Device habe ich die NodeID der Wago gewählt. Mit dem Parametermanager habe ich Variablen vergeben. Zunächst versuchshalber ein Byte, dann Bytearrays. Da das nix brachte und das Device über DiagNode nicht erkannt wurde, habe ich das generierte eds als Unterelement meinem Master (dem Touchscreen) zugeordnet. Ließ sich einbinden. NodeDiag funktioniert, aber m. E. dürfte ich doch nicht zweimal die gleiche NodeID vergeben.

Ich stehe wegen der Zuordnung und der Vergabe der Adressen im Parametermanager vermutlich hauptsächlich auf dem Schlauch – oder ist am Grundgedanken was falsch?

Hat jemand zufällig Erfahrung mit dem Ändern der PDO-Eigenschaften oder ein Beispiel-Projekt?

Gruß Lucas
 
Hey ho,

Bei einer Beeinflussung der PDOs währrend der Laufzeit kann ich dir leider auch nicht weiter helfen, aber ich habe eine ähnliche Problematik mit einem PFC200 von Wago gehabt und folgende zwei Ansätze:

Einmal setzen wir eigene Module über Canbus ein. Da haben wir die Module geupdatet und da wir mehr PDOs brauchten. In der Steuerungskonfiguration einfach mit den maximalen PDOs anlegen und die Addressierung der EIngänge über den Adressbereich zuweisen. Ich weiss nur nicht, ob der Wago Koppler dadurch einen I/O Fehler generiert.

can1.PNGcan2.PNG

Für Modbus gibt es eine/n Bibliothek/Baustein mit dem ich auf einen Wago-Koppler (750-352) zugreife, ohne den in der Steuerungskonfiguration zu haben. Eventuell gibt es das gleiche auch für CanOpen für deinen Aufbau.

ethernet.PNG

In beiden Fällen kann ich je nach Konfiguration nur mit den verwendeten Variablen befeuern.
Ich hoffe ich konnte dir weiterhelfen.

Mit freundlichen Grüßen,

Eri
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Eri,

danke für dein Ideen.
Leider generiert der Koppler einen Fehler, wenn die angegebenen Elemente in der Steuerungskonfiguration die Hardwarebaugruppen übersteigen.

Bin gerade fertig mit einer Alternative. :D

Nach mehreren Versuchen und Irrwegen auch über die Hotlines, wobei mir u. a. die Leermodulkonfiguration empfohlen wurde (unbauchbar für unsere Applikation), habe ich mich für zwei optionale Geräte entschieden. Eine persistant Bool, über das Sparepart-Touchpanel für den Kunden konfigurierbar, fragt mit NodeDiag die jeweils getroffene Auswahl ab und mappt die Eingänge entsprechend.

Zwar musste die NodeDiag samt Fehlermeldung und Busstatus auf die neue Node angepasst werden - aber letzlich mit allen Tests und Anpassungen der Eingabemasken sind 4,5h dafür ein Witz gegenüber der Zeit, die ich zuvor mit Leermodulkonfigaration und CanDevice verplempert habe.

Schönen Vaddertag!
 
Zurück
Oben