CL2.Write (FUN)

 

Diese Funktion der CAA_CanL2.library schreibt eine CAN Meldung über eine mittels hDriver spezifizierte CAN Schnittstelle.

Wenn die Nachricht nicht sofort gesendet werden kann, dann puffert der Treiber entweder die Nachricht oder er gibt einen Fehlerkode "CL2.SENDING_ERROR“ zurück und das Sendeverfahren muss wiederholt werden.

Meldungen mit der gleichen Priorität werden in chronologischer Reihen­folge gesendet. Meldungen mit höherer Priorität werden immer vor denjenigen mit geringerer Priorität gesendet. Die Priorität 0 hat eine besondere Bedeutung: Meldungen mit Priorität 0 werden nicht in die Warteschlange gestellt, sondern so schnell wie möglich vor allen anderen auf das Versenden wartenden Meldungen gesendet. Wird eine für den Treiber nicht gültige Prioritätsstufe vorgegeben, dann wird die Meldung nicht gesendet, sondern mit einem Fehlercode zurückge­geben.

Ist der “CANopen SYNC” Dienst mit CL2.EnableSyncServic aktiviert, dann kann der Parameter “xEnableSyncWindows” dazu verwendet werden, zu garantieren, dass die Meldungen nur innerhalb des laufenden SYNC Fensters gesendet werden. Wenn die zugrunde gelegte “coblD” für Empfang registriert ist, dann kann eine erfolgreich gesendete Meldung über CL2.READ mit aktuellem Zeitstempel empfangen werden. Die Anwendung der Funktion CL2.IsTransmitMes­sage auf derlei Meldungen gibt den Wert TRUE zurück.

Eingang:

hDriver

CAA.HANDLE

Handle von CAN Schnittstelle

hMessage

CAA.HANDLE

Handle der zu schreibenden CAN Meldung

usiPriority

USINT

Priorität für das Versenden der Meldung mit Werten von 1 (höchste Priorität) bis 9. Kann mit GetProperty abgefragt werden.

usiPrioity = 0 erzwingt sofortiges Versenden!

xEnableSyncWindow*

BOOL

TRUE: Nur innerhalb des aktuellen Sync Fensters versenden

Ausgang:

Ausgang:

eError

CL2.ERROR

Fehlercode (Aufzählungstyp)