mikrocontroller.net

Forum: PC-Programmierung Anbindung einer Drehmomentenmesswelle an eine Software


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von OutLOOK (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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?

von mech (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von OutLOOK (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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?

von OutLOOK (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von mech (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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

von mech (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von OutLOOK (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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 :-)

von OutLOOK (Gast)


Bewertung
0 lesenswert
nicht lesenswert
mech schrieb:
> Woher sollen wir denn wissen, was in dieser ominösen Datei drin steht?

In der Datei steht z.B. sowas drinnen:
[2000sub1]
ParameterName=Torque_LowPass1
ObjectType=0x0007
DataType=0x0004
AccessType=ro
LowLimit=
HighLimit=
DefaultValue=
PDOMapping=1

[2000sub2]
ParameterName=Torque_LowPass2
ObjectType=0x0007
DataType=0x0004
AccessType=ro
LowLimit=
HighLimit=
DefaultValue=
PDOMapping=1

von OutLOOK (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Das hier sieht auch interessant aus aus der Datei:
[2009sub8]
ParameterName=MeasVal8
ObjectType=0x0007
DataType=0x0009
AccessType=ro
LowLimit=
HighLimit=
DefaultValue=
PDOMapping=

[2009sub9]
ParameterName=MeasVal9
ObjectType=0x0007
DataType=0x0009
AccessType=ro
LowLimit=
HighLimit=
DefaultValue=
PDOMapping=

[2009sub10]
ParameterName=MeasVal10
ObjectType=0x0007
DataType=0x0009
AccessType=ro
LowLimit=
HighLimit=
DefaultValue=
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?

von mech (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wie gesagt, erstmal CAN an sich verstehen, dann die konkrete Software 
bedienen lernen.

von STK500-Besitzer (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Guck dir mal CANopen-Doku an!
Deine Datei sieht ziemlich nach deren Zeug aus.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.