INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

CANopen VISA Read liefert unerwartete Antwort



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

06.08.2019, 13:44 (Dieser Beitrag wurde zuletzt bearbeitet: 06.08.2019 13:49 von MarkusS.)
Beitrag #1

MarkusS Offline
Ambitionierter Ersti


Beiträge: 8
Registriert seit: Jun 2019

2019
2017
DE_EN

01067
Deutschland
CANopen VISA Read liefert unerwartete Antwort
Hallo zusammen,
ich beschäftige mich seit einiger Zeit mit seriellen Schnittstellen und verwende aktuell eine Nantotec C5-E Motorsteuerung mit einem NEMA-23 Schrittmotor. Die Steuerung ist über USB und einer RS485 (mit DS402) Schnittstelle mit dem PC verbunden, Betriebssystem ist Windows 7.

Ich bau an einem umfangreichen VI indem ich mehrere subVI's aufrufe und ausführe. Jedoch bereitet mir das read VI öfter Probleme.
Kurze Erläuterung zum Programm: Ich schreibe in die Steuerung den Befehl "Motor fahren" (bei CANopen mittels Controlword ist es eine Befehlskette) -> solange der Motor fährt und keine Befehle geschrieben werden, führe ich das im Anhang aufgeführte read_ever.VI aus, welches mir die aktuelle Motorposition ausgibt. Das VI read_ever funktioniert auch anfangs.

Jedoch, aus einem mir unbekannten Grund, liefert die Funktion "VISA Read" ein offensichtlich falschen String im "read buffer"

Geschrieben wird der String (als Beispiel):
4E54 000F 052B 0D00 0001 6062 0000 0000 04F8 6D
dabei ist 6062 00 das Register für die Position

Als Antwort kommt üblicherweise dieser String:
4E54 0013 052B 0D00 001 6062 0000 0000 04EA FEFF FFF4 E5
dabei ist der Anfang des Strings der Header und bleibt immer gleich, dann das Register 6062 00, dann die Antwortlänge 0000 0004, dann die Antwort in Hex-Dezimal für die Position FEFF FFF4 E5
(Der letzte Teil ist der, der sich üblicherweise mit der Taktrate ändert) -> soweit funktioniert alles

JETZT ABER gibt das VISA Read plötzlich folgendes aus:
0000 AEE9 4E54 0013 052B 0D00 001 6062 0000 0000 049B FF
Der Header stimmt nichtmehr, sodass meine Positionsantwort eine null ergibt. Insgesamt sieht die Antwort verschoben aus.
Ich habe bereits versucht die Zeit zwischen VISA Write und VISA Read zu verlängern, jedoch ohne erfolg. Die Taktrate von 250ms sollte mehr als genug sein um die Schnittstelle nicht zu "überladen".

Kann mir bitte jmd helfen und sagen wie ich diese Fehlantwort umgehen kann?


PS: im VI: das setzen der Konstanten und die Indicator-Array dienten einem anderen Zweck, der hier jetzt nicht so relevant ist.

LG
Markus


Angehängte Datei(en)
8.6 .vi  c5e_read_ever.vi (Größe: 41,61 KB / Downloads: 220)

8.6 .vi  c5e_CRC_Calculation.vi (Größe: 13,44 KB / Downloads: 215)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Nachrichten in diesem Thema
CANopen VISA Read liefert unerwartete Antwort - MarkusS - 06.08.2019 13:44

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  CANopen VISA kommunikation MarkusS 5 4.795 21.06.2019 14:17
Letzter Beitrag: GerdW
  CANopen Hydrogencarbonat 2 5.611 12.01.2017 17:26
Letzter Beitrag: jg
  CanOpen Error Hex 0xBFF62023 Isenwelle2015 2 5.657 05.05.2015 10:45
Letzter Beitrag: GerdW
  CANopen Tutorial Bishop 1 6.132 22.12.2014 19:44
Letzter Beitrag: GerdW
  VISA-Read-Fehler-1073807339 eyk107 6 6.794 10.12.2014 08:39
Letzter Beitrag: eyk107
  Kommunikation mittels CANopen Bishop 1 4.192 03.11.2014 12:48
Letzter Beitrag: GerdW

Gehe zu: