Hochladen der Applikation per CAN, ohne CANopen

(nur für Terminals ohne CANopen)

Dieses Dokument beschreibt, wie Programme per CAN-Bus in das Terminal hochladen werden können, in denen kein CANopen-Protokoll implementiert ist. Dazu zählt beispielsweise das "MKT-View", und möglicherweise einige andere Geräte von MKT Systemtechnik.
Die Beschreibung gilt nicht für Terminals mit CANopen-Protokoll, weil in einem CANopen-Netzwerken alle erforderlichen Protokolle existieren um eine Verbindung zwischen PC und Terminal aufbauen zu können (SDO).

Inhalt

Siehe auch:

Hochladen per CAN (ohne CANopen)

In einem allgemeinen Netzwerk ("ohne CANopen") können für diesen Zweck nicht einfach zwei feste CAN-Identifier reserviert werden. Aus diesem Grund muss das Terminal manuell in den "Transfer-Modus" geschaltet werden, damit die Terminal-Firmware auf die zur Übertragung verwendeten CAN-Identifier reagiert (was es im Normalbetrieb nicht "darf", um Kollisionen zu vermeiden). Der folgende Ablauf ist daher nötig, um eine CANopen-freie Verbindung zwischen Programmiertool und Terminal aufzubauen :

Das Terminal empfängt nun auch CAN-Telegramme mit dem ID für den Programm-Transfer. Der PC kann also nun per CAN mit dem Terminal kommunizieren.
Starten Sie nun die Übertragung zwischen PC und Terminal :

Verbindungsaufbau per CAN mit Senden der Serialnummer (für Geräte ohne Tastatur)

Im Jahr 2009 wurden neue Geräte produziert, die weder über eine Tastatur, noch einen Drehknopf (zur Bedienung), noch über einen Touchscreen verfügten. Bei diesen Geräten konnte daher nicht das Systemmenü aufgerufen werden, um dort (vorübergehend, bis zum nächsten Abschalten) die Option Transfer via CAN = ON zu setzen.

Erst wesentlich später kamen Funktionen zur Fernbedienung ( per RS-232, CAN, oder TCP/IP / Telnet) hinzu, mit denen sich das Problem notfalls lösen liess.

Eine bessere Lösung wurde im Mai 2010 gefunden. Sie ermöglicht die Aktivierung des "Transfer-Modus"  per CAN-Bus, selbst wenn im Systemmenü die Option Transfer via CAN auf "OFF / Auto" gesetzt ist, und das Anlegen einer 'hohen Programmierspannung'  aus technischen Gründen nicht möglich ist. Dazu muss allerdings die eindeutige Serialnummer des zu programmierenden Gerätes bekannt sein, und vor dem Verbindungsaufbau im Hauptmenü des Programmiertools unter 'Transfer' .. 'Verbindungs-Parameter' ... 'Remote Serial Number' eingegeben werden. Nur so kann sichergestellt werden, daß nicht aus Versehen das 'falsche' Gerät umprogrammiert wird, oder das es zu Kollisionen kommt, wenn mehrere programmierbare Geräte am CAN-Bus angeschlossen sind.


(Dialog zum Eingeben der Serialnummer des zu programmierenden Gerätes.
Bitte beachten: "123" ist nur ein BEISPIEL !
Die Serialnummer des Gerätes finden Sie auf dem Typenschild des Gerätes.... falls nicht:
sie wird beim Einschalten für kurze Zeit auf dem Display angezeigt, z.B. SerialNr: 123 )

Der Rest dieses Kapitel wurde noch nicht ins Deutsche übersetzt - bitte die englischsprachige Variante verwenden.

Technische Details (Kommunikation Terminal <-> PC per CAN, ohne CANopen)

Wie schon in der Einleitung erwähnt, können für die Kommunikation zwischen Programmiertool und Terminal keine "festen" CAN-Identifier reserviert werden (denn das würde früher oder später zu Kollisionen führen, oder zu einem sehr komplizierten Protokoll führen).

In der Tat werden für die Kommunikation zwei feste CAN-Identifier verwendet, die im Terminal aber nur aktiv sind, nachdem selbiges manuell in den Zustand "Programmübertragung per CAN" geschaltet wurde. Die dann verwendeten CAN-Identifier sind :

Für die Übertragung wird ein proprietäres, auf Text-Zeilen basierendes Protokoll mit Kommandos und Schlüsselwörtern verwendet. Die meisten übertragenen Zeilen verwenden das gleiche Format wie für die Ablage eines Terminal-Programms als Textdatei. Weiterführende Informationen sind auf Wunsch vom Autor erhältlich ("subject to change").


Datei: ..?..\uptwin1\help\canup_49.htm
Autor: W.Büscher, MKT Systemtechnik
Letzte Änderung: 2006-10-22 (ISO8601, YYYY-MM-DD)

Seitenanfang