CANopen Communication
FC5101 and FC5102
60
Version: 2.0
ADSWrite(
NETID:= ADSNetID,
PORT:= PortNr,
IDXGRP:= CO_Index,
IDXOFFS:= CO_SubIndex,
LEN:= DataLength,
SRCADDR:= ADR(WriteData),
WRITE:= TRUE,
TMOUT := T#1s
);
IF ADSWrite.err THEN
state := 2;
WriteDataFinished := TRUE;
Error := ADSWrite.ErrId;
ELSE
state := 1;
END_IF
ELSE
ADSWrite(
NETID:= '',
PORT:= PortNr,
IDXGRP:= CO_Index,
IDXOFFS:= CO_SubIndex,
LEN:= DataLength,
SRCADDR:= ADR(WriteData),
WRITE:= FALSE,
TMOUT := T#1s
);
END_IF
1:
ADSWrite(WRITE:=FALSE);
IF ADSWrite.err THEN
state := 2;
WriteDataFinished := TRUE;
Error := ADSWrite.ErrId;
ELSE
IF NOT ADSWrite.busy THEN
state := 2;
WriteDataFinished := TRUE;
END_IF
END_IF
2:
ADSWrite(WRITE:=FALSE);
state := 0;
END_CASE
5.7
Baud rate and bit timing
The following baud rates and entries in the bit-timing register are supported by the CANopen devices:
Baud rate [kbaud]
BTR0
BTR1
Sampling Point
1000
0x00
0x14
75%
800
0x00
0x16
80%
500
0x00
0x1C
87%
250
0x01
0x1C
87%
125
0x03
0x1C
87%
100
0x04
0x1C
87%
50
0x09
0x1C
87%
20
0x18
0x1C
87%
10
0x31
0x1C
87%
The bit-timing register settings given (BTR0, BTR1) apply, for example, for the Philips 82C200, SJA1000,
Intel 80C527, Siemens 80C167 and other CAN controllers. They are optimized for the maximum bus length.