Pro II: CAN-Bus
P2_CAN_Interrupt_Source
P2_CAN_
Interrupt_Source
214
P2_CAN_Interrupt_Source
gelöst haben.
Syntax
#Include
ADwinPro_All.inc
ret_val
P2_CAN_Interrupt_Source
=
Parameter
Eingestellte Moduladresse (1...15).
module
Bitmuster, das die Interrupt-Quelle angibt.
ret_val
Bitnr.
CAN-Kanal
Bemerkungen
Der Befehl ist nur sinnvoll einsetzbar, wenn mit
gen von Event-Signalen (Interrupts) konfiguriert ist und ein extern gesteuerter
Prozess verwendet wird.
P2_CAN_Interrupt_Source
terrupt-Registers auf einem CAN-Controller.
Nach dem Erzeugen eines Event-Signals müssen Sie die Nachricht des auslö-
senden Message-Objekts mit
der ein neues Event-Signal erzeugen kann. In der Zwischenzeit ignoriert der
CAN-Controller eintreffende Nachrichten für dieses Message-Objekt.
Siehe auch
P2_En_Interrupt, P2_Init_CAN,
Gültig für
CAN-2 Rev. E
Beispiel
#Include
ADwinPro_All.inc
REM to be run as externally controlled process (compiler options)
Init:
P2_Init_CAN(1,1)
P2_En_Receive(1,1,3,1,0)
P2_En_Receive(1,1,15,385,0)
P2_En_Interrupt(1,1,3)
P2_En_Interrupt(1,1,15)
P2_Event_Enable(1,1)
Event:
Par_13
= P2_CAN_Interrupt_Source(1)
If
(Par_13
And
01b
Par_14
= CAN_Interrupt_Msg(1,1)
Rem get msg object = enable new interrupt
Par_15
= P2_Read_Msg(1,1,CAN_Interrupt_Msg(1,1))
EndIf
Function
CAN_Interrupt_Msg(module,channel)
REM read interrupt register and change value to objekt no.
CAN_Interrupt_Msg
If
(CAN_Interrupt_Msg
CAN_Interrupt_Msg
Else
CAN_Interrupt_Msg
EndIf
EndFunction
Der Wert im Interrupt-Register entspricht einem der Message-Objekte nach fol-
gendem Schema:
gibt zurück, welche CAN-Kanäle einen Interrupt aus-
31:2
–
P2_En_Interrupt
arbeitet deutlich schneller als das Lesen des In-
lesen, damit der das Objekt wie-
P2_Read_Msg
P2_Read_Msg
'initialize channel 1
'configure msg objects 3 and 15
'for read
'configure msg objects 3 and 15
'for interrupt
'enable event interrupt
'check for interrupt
= 1)
Then
'get interrupting msg object
= P2_Get_CAN_Reg(module,channel,5fh)
= 2)
Then
=
15
=
CAN_Interrupt_Msg
ADwin-Pro II Software, Handbuch Apr. 2021
ADwin
module
(
)
LONG
LONG
1
0
2
1
das Erzeu-
As Long
-
2