CAN-Schnittstelle
Transmit
Transmit
162
sendet die Nachricht in CAN_Msg über ein bestimmtes Message-Objekt
Transmit
einer CAN-Schnittstelle.
Syntax
#Include
ADwinGoldII.inc / GoldIITiCo.inc
Transmit(can_no, msg_no)
Parameter
Nummer (1, 2) der CAN-Schnittstelle
can_no
Nummer (1...14) des Message-Objektes
msg_no
Bemerkungen
Um eine Nachricht zu senden, müssen Sie folgende Reihenfolge einhalten:
•
Einmal: Geben Sie das Message-Objekt mit
Senden frei.
•
Sooft erforderlich: Geben Sie die Nachricht in das Feld CAN_MSG ein:
Die Datenbytes und die Anzahl der Datenbytes.
•
Vor dem Senden: Fragen Sie mit
Message-Objekt zum Senden bereit ist.
•
Senden Sie die Nachricht mit Transmit.
Die CAN-Schnittstelle sendet die Nachricht, sobald das Message-Objekt Zu-
griffsrecht auf den CAN-Bus hat.
Siehe auch
CAN_Msg, En_Transmit, Init_CAN, Read_Msg,
Gültig für
Gold II-CAN
Beispiel
Rem Wählen Sie das passende Include für ADbasic / TiCoBasic
#Include
ADwinGoldII.inc'für ADbasic
Rem #Include GoldIITiCo.inc für TiCoBasic
Rem Sendet eine 32 Bit-FLOAT-Zahl (hier: Pi) als Folge von
Rem 4 Bytes in einem Message-Objekt
#Define
pi
3.14159265
Dim
i
As Long
INIT:
Init_CAN(2)
Rem Initialisiere das Message-Objekt 6 der Schnitt-
Rem stelle 2 zum Senden von CAN-Nachrichten mit dem
Rem Identifier 40
En_Transmit(2, 6,40,0)
Rem Bitmuster von Pi mit Datenformat Long erzeugen
PAR_1
= Cast_FloatToLong(pi)
Rem Bitmuster (32 Bit) in 4 Bytes aufteilen
For
i
=
0
To
3
CAN_Msg[4-i] = Shift_Right(PAR_1,8*i)
Next
i
CAN_Msg[9] =
4
EVENT:
Transmit(2,6)
Empfangen einer Fließkomma-Zahl siehe Bsp. bei Read_Msg.
ADwin
En_Transmit
Transmit_Status
Transmit_Status
'CAN-Controller 2
'initialisieren
And
0FFh
'Länge der Nachricht in Bytes
'Message-Objekt 6 senden
ADwin-Gold II, Handbuch Dez. 2018
LONG
LONG
zum
ab, ob das