Verständnisfragen CANopen

Etty

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


momentan muss ich eine Verbindung über Canopen zwischen einer WAGO PFC200 und einem Wechselrichter herstellen. Leider habe ich noch nie mit CANopen gearbeitet und bin somit ein wenig überfordert.


Ich habe also beide Geräte an meinen "CANopen_Manager" angehängt (richtige .eds files vorhanden) und möchte nun PDOs oder SDOs senden/empfangen.
So wie ich es bisher sehe werden die PDOs im CANopen E/A-Abbild angezeigt und können mit variablen gemappt werden, welche man in den POUs abfrägt. Aber wie genau funktionieren die SDOs? Ich habe eine vielzahl an veschiedenen SDOs zum hinzufügen in die Liste aber wie genau rufe ich diese dann im Programm auf oder was genau muss ich mit diesen "Index/Subindex" anfangen?

Habe schon eine Menge gegoogelt aber leider keine passeneden Informationen gefunden die mir den Einstieg erleichtern.

Vielen Dank schonmal für jegliche Hilfe,

Etty
 
Hallo Etty,
vielleicht zu viele Fragen auf einmal, deswegen antwortet hier niemand.
Versuche es doch noch einmal, etwas besser zu beschreiben und einzelne Fragen zu stellen.
Beste Grüße
 
Hallo Leute,

nach einem Monat Arbeit habe ich zum Glück das meiste schon selbst verstanden. Ich nutze einen Wechselrichter von ZAPI welchen ich leider über SDO's auslesen muss da er in der verbauten Konfiguration keine sinnvollen PDO's sendet.
Im angehängten Gerät am CANopen_Manager verstehe ich zwar immer noch nicht das Fenster "SDO" da ich die SDO's mit dem Baustein CIA405.SDO_READ4 anfrage. Wofür genau brauche ich denn dieses "SDO hinzufügen" im Gerät unter dem CANopen_Manger?

Etty
 
PDO: Zyklische Telegramme => somit im EA Datenabbild
SDO: azyklische Telegramme => werden in der Regel vom Benutzerprogramm angetriggert über Bausteine.
Prinzipiell werden SDOs auch benutzt um die Slaves zu konfigurieren (EA-Abbild oder StartUp-Listen für den Slave...). Das würde dann der Master durchführen aufgrund von der Definition die du dort definiert. Es wäre also gut möglich (kenne deine Welt aber nicht) dass das etwas zu tun hat.

Guga
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Etty,
könntest Du mal bitte die EDS-Datei hochladen, ich habe im Internet nichts gefunden. Soweit ich Zeit finde würde ich mir das Ganze gerne mal ansehen.
Das der Umrichter keine PDOs sendet kann ich mir fast nicht vorstellen, allerdings muss man erstmal die PDOs konfigurieren, sprich welcher PDO welchen Index samt Subindex enthält. Den Index kann man sich als Katalognummer vorstellen, der Katalog enthält dann Parameter. Der Subindex ist dann die Nummer des Parameters, wobei er nicht bei 0 oder 1 beginnen muss und auch nicht immer um 1 sich erhöht. Dabei gibt es Parameter die man nur lesen kann und welche die auch beschrieben werden können. Guga hat ja schon den Unterschied zwischen SDOs und PDOs beschrieben. Wie er auch schon geschrieben hatte dienen SDOs unter anderem zum konfigurieren des Slaves. Diese Konfiguration sollte automatisch beim Starten des Bus erfolgen, speziell die Konfiguration der PDOs. Zur Laufzeit kann man dann immer noch Änderungen vornehmen, bzw. Register auslesen deren Wert man nicht in jedem Zyklus aktuell benötigt.
In PDOs werden übrigens SDOs eingetragen die vom Master zyklisch abgefragt werden. Die PDOs mappst Du dann auf deine SPS-Variablen und hast so Zugriff auf die Werte ohne zusätzlich noch einen FB auszuführen.
 
Zuletzt bearbeitet:
Danke für die ausführliche Antwort!
Leider nutzt ZAPI nicht das "wirkliche" CANopen sondern ihr eigens entwickeltes "openCAN". Außerdem weiß ich nicht ob ich die EDS-File hochladen darf, das es ja an sich geistiges Eigentum der Firma ZAPI ist und es mir persönlich gegeben wurde.
Der Wechselrichter würde mir laut Hersteller nur PDO's senden wenn ich ihn auch über PDO's ansteuere, dies ist leider noch nicht der Fall sondern wird über Analogschalter direkt umgesetzt. Daher muss ich die Laufwerte über SDO's anfragen was ich über den Baustein CIA405.SDO_READ4 realisiere.
Aber wofür ist das Fenster "SDOs" im angehängten Gerät an den CANopen_Manager gut?
Kann ich mir damit den Baustein CIA405.SDO_READ4 sparen?
ZAPI_SDO.jpg

MfG

Etty
 
Hallo Etty,
Kann ich mir damit den Baustein CIA405.SDO_READ4 sparen?
in anderen Fällen ja, in Deinem Fall nein. Blöde Antwort, ich weiß, ist aber leider so. Wie Guga schon in #5 schrieb können SDOs auch dafür genutzt werden um den Slave beim Start des Busses durch den Master konfigurieren zu lassen (z.B. PDO Mappings, Grenzwerte, Ablauflisten, usw.). Du könntest jetzt also Dir Parameter aus der Liste aussuchen die Du gerne auf bestimmte Werte setzen möchtest ohne dies im Programm tun zu müssen. Da der FU (angeblich) in Deinem Fall keine PDOs verschickt kommst Du um die Nutzung von CIA405.SDO_READ4 nicht drumherum, da Du den FB zur Abfrage der von Dir benötigten Werte brauchst. Wie heißt der Umrichter denn genau, dann würde ich mich mal an ZAPI wenden und eine EDS-Datei/Handbuch anfordern.

Gruß

Oliver
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Oliver,

so langsam verstehe ich das "SDOs" Fenster, danke schon einmal dafür.
Ich nutze den Wechselrichter Zapi ACE-5 2μc und habe die letzten Wochen schon oft genug mit der Firma Telefoniert die mir versichert hat, dass nur Sinnvolle PDO's gesendet werden wenn man den Wechselrichter auch über PDO'S ansteuert.
Und das EDS-File ist auch schon eine Frechheit von denen, hier mal ein kleiner Auszug (Die sind nicht ein mal Mitglied im Verein CiA und nutzen trotzdem das Protokoll mir falscher VendorNumber, und die Baudrate ist auch falsch):
Code:
[/FONT][DeviceInfo]VendorName=Zapi Spa
VendorNumber=0
ProductName=0
ProductNumber=0
RevisionNumber=0
OrderCode=0
[FONT=sans-serif]

Aber es ist kein Problem mehr für mich den Baustein
CIA405.SDO_READ4 zu verwenden, das Programm läuft damit schon vollständig, ich habe nur gedacht dass es evtl. eine einfachere Lösung gibt.

MfG

Etty
 
Danke Oliver das dachte ich mir auch in den ersten Woche mit dem Wechselrichter :p .
Zumindest habe ich gelernt Zapi zu meiden oder und evtl so etwas vorher zu klären. An sich geht es bei dem Projekt auch nur darum, etwas über Codesys und Feldbussysteme zu lernen was definitiv hierbei der Fall ist, ich versuche nur alles zu verstehen was möglich ist.

MfG

Etty
 
Danke aber mir reicht vorerst J1939 und CANopen, der Rest kommt evtl in ein paar Jahren :D .
Zumindest verstehe ich jetzt den Kompletten Aufbau etc. eines Feldbussystems, das muss erstmal reichen.
 
Zurück
Oben