JVM-104
JetSym-STX-Programm
Jetter AG
Im folgenden Beispiel wird die Heartbeat-Zeit in das CANopen®-Objekt-
verzeichnis des Geräts mit der adressierten Node-ID eingetragen.
Const
CANNo = 0;
NodeID_Node_0 = 10;
NodeID_Node_1 = 68;
End_Const;
Var
busy: Int;
Heartbeat_time: Int;
Objektindex: Word;
Subindex: Byte;
Result: Int;
End_Var;
Task
Example_DownloadSDO
Var
SW_Version: String;
End_Var;
SW_Version := 'v4.3.0.2004';
// Initialisierung CAN 0
CanOpenInit(CANNo,
NodeID_Node_0,
SW_Version);
// Das Gerät mit der Geräte-ID NodeID_Node_1 am CAN-Bus in den Status
// PREOPERATIONAL setzen.
CanOpenSetCommand(CANNo, CAN_CMD_NMT_Value(NodeID_Node_1,
CAN_CMD_NMT), CAN_NMT_PREOPERATIONAL);
// Heartbeat-Zeit des adressierten Geräts per SDO ändern.
Objektindex := 0x1017;
Subindex := 0;
Result:= CanOpenDownloadSDO(CANNo,
// Prüfen ob Befehl erfolgreich ausgeführt wurde.
If
(Result == 0)
Then
// Nummer der Busleitung
// Node-ID Node 1
// Node-ID Node 2
autorun
// Nummer der Busleitung
// Geräte-ID
// Softwareversion des Herstellers
// Nummer der Busleitung
NodeID_Node_1,
Objektindex,
Subindex,
CANOPEN_WORD,
sizeof(Heartbeat_time),
Heartbeat_time,
busy);
CANopen®-STX-API
// Geräte-ID
// wIndex
// SubIndex
// DataType
// DataLength
// DataAddr
// Busy
99