Hallo, ich habe mehrere Drehmomentenmesswellen, die einen CAN-Anschluss haben. Ich kann jeder Welle eine individuelle Adresse zuweisen, z.B. 110, 111, 112 und 113. Standardmässig haben alle die Adresse 110. Ich habe sie jetzt auf 110, 111 und 112 eingestellt und das hat geklappt. Jetzt habe ich einen USB-Can-Adapter von Peak und die Software PCAN-View. Gibt es bei CAN-Bus die Möglichkeit, das Netzwerk zu scannen wie bei einem IP-Scanner, der die Netzwerkteilnehmer in einem Netzwerk ermittelt - also alle IP-Adressen anpingt und guckt, ob was zurückkommt? Kann ich vielleicht auch was direkt an einen Teilnehmer senden, z.B. wie einen Ping?
Du wirst um die Grundlagen von CAN nicht drumrum kommen. Bei CAN hört jeder Teilnehmer alles. Die "Adressen" sind nicht mit IP-Adressen vergleichbar. Die werden nämlich nicht dem Gerät zugeordnet, sondern dem Nachrichtentyp und zwar nach Priorität.
Hier z.B. hab ich ein Bild angefügt. Für die Messwellen hab ich ein Einstellprogramm. Wenn ich dort auf SCAN klicke, werden mir alle Messwellen angezeigt. Wenn ich dann daneben mit dem Can-Bus-Viewer die Daten angucke, dann zeigt der mir dort etwas an, sobald ich auf SCAN klicke. Im nächsten Schritt habe ich mal unten in dem Viewer direkt eine Nachricht an einen Teilnehmer gesendet, an den Teilnehmer 115. Leider empfange ich bei "Empfangen" nichts. Ich habe zu der Messwelle auch eine Beschreibungsdatei. Kann ich daraus vielleicht die Information rauslesen, was ich z.B. in "Daten" reinschreiben könnte, damit mir andere Teilnehmer etwas antwortet - z.B. seine Versionsnummer rausgibt?
mech schrieb: > Die "Adressen" sind nicht mit > IP-Adressen vergleichbar. Ach so, schade. Aber danke für die Info. Aber irgendwie muss es möglich sein, über die eingestellte Nummer von 0-127 eine einzelne Messwelle zu identifizieren und z.B. dort einen Wert auszulesen.
OutLOOK schrieb: > Ich habe zu der Messwelle auch eine Beschreibungsdatei. Kann ich daraus > vielleicht die Information rauslesen, was ich z.B. in "Daten" > reinschreiben könnte, damit mir andere Teilnehmer etwas antwortet - z.B. > seine Versionsnummer rausgibt? Woher sollen wir denn wissen, was in dieser ominösen Datei drin steht? :D
OutLOOK schrieb: > Aber irgendwie muss es möglich sein, über die eingestellte Nummer von > 0-127 eine einzelne Messwelle zu identifizieren und z.B. dort einen Wert > auszulesen. Ja, indirekt dadurch dass du den Teilnehmern vorher mitgeteilt hast, unter welcher Object-ID sie ihre Daten auf den Bus legen sollen.
Jetzt hab ich mal einfach bei Senden statt der 115 eine Adresse reingeschrieben, die ich vorhin bei "Empfangen" gesehen hab. Wenn ich die jetzt in das System reintippe, dann bekomme ich oben bei Empfangen eine Antwort :-)
mech schrieb: > Woher sollen wir denn wissen, was in dieser ominösen Datei drin steht? In der Datei steht z.B. sowas drinnen:
1 | [2000sub1] |
2 | ParameterName=Torque_LowPass1 |
3 | ObjectType=0x0007 |
4 | DataType=0x0004 |
5 | AccessType=ro |
6 | LowLimit= |
7 | HighLimit= |
8 | DefaultValue= |
9 | PDOMapping=1 |
10 | |
11 | [2000sub2] |
12 | ParameterName=Torque_LowPass2 |
13 | ObjectType=0x0007 |
14 | DataType=0x0004 |
15 | AccessType=ro |
16 | LowLimit= |
17 | HighLimit= |
18 | DefaultValue= |
19 | PDOMapping=1 |
Das hier sieht auch interessant aus aus der Datei:
1 | [2009sub8] |
2 | ParameterName=MeasVal8 |
3 | ObjectType=0x0007 |
4 | DataType=0x0009 |
5 | AccessType=ro |
6 | LowLimit= |
7 | HighLimit= |
8 | DefaultValue= |
9 | PDOMapping= |
10 | |
11 | [2009sub9] |
12 | ParameterName=MeasVal9 |
13 | ObjectType=0x0007 |
14 | DataType=0x0009 |
15 | AccessType=ro |
16 | LowLimit= |
17 | HighLimit= |
18 | DefaultValue= |
19 | PDOMapping= |
20 | |
21 | [2009sub10] |
22 | ParameterName=MeasVal10 |
23 | ObjectType=0x0007 |
24 | DataType=0x0009 |
25 | AccessType=ro |
26 | LowLimit= |
27 | HighLimit= |
28 | DefaultValue= |
29 | PDOMapping= |
Das könnten z.B. irgendwelche Werte sein, die mir das Gerät gibt. Könnte es sein, dass ich als Adresse dann nicht z.B. die 115 reinschreiben darf, sondern einen längeren Code, wo z.B. die eingestellte Adresse 115 drinnen steht, dann z.B. die 2009 und das Sub10, damit ich dann als Antwort "MeasVal10" kriege?
Wie gesagt, erstmal CAN an sich verstehen, dann die konkrete Software bedienen lernen.
Guck dir mal CANopen-Doku an! Deine Datei sieht ziemlich nach deren Zeug aus.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.