芬兰CANopen双轴倾角传感器说明.docx
《芬兰CANopen双轴倾角传感器说明.docx》由会员分享,可在线阅读,更多相关《芬兰CANopen双轴倾角传感器说明.docx(17页珍藏版)》请在冰豆网上搜索。
芬兰CANopen双轴倾角传感器说明
芬兰CANopen倾角传感器说明
一、接线说明
二、通过串口设定传感器的各种参数
通过串口设置传感器的CAN节点号和波特率等参数可以使用电脑自带的超级终端软件也可以使用其他的串口软件。
1、PC串口参数设定
2、接线方式
传感器端电脑9芯端
TX02(RX)
RX03(TX)
GND(serial)5(GND)
3、串口数据格式
字段Field
描述
值
16进制值
BOF
开始字符
#
0x23
CMD
命令
S=Set设置
R=Read读
0x53
0x52
PAR
参数
T=Continuousdatatransfer(连续发送)
G=Bootloadermode(引导模式)
R=Factorysetting(出厂默认设定)
S=Settings(设定)
N=NodeID(设备节点号)
B=CANbaudrate(CAN波特率)
I=interval(发送间隔时间)
M=Acceptancemask(接收校验码)
A=Acceptanceid(接收ID)
0x54
0x47
0x52
0x53
0x4E
0x42
0x49
0x4D
0x41
VAL
值
Foron/offsettings:
t=true
f=false
Fornumericalvalues:
Numericalvalue
0x74
0x66
EOF
结束字符
!
0x21
LF
LineFeed
0x10
传感器包含如下的串口命令设置:
设定/功能
串口命令
值的范围
CAN波特率
#SBxxx!
10=10kbit/s
20=20kbit/s
50=50kbit/s
100=100kbit/s
125=125kbit/s
250=250kbit/s
500=500kbit/s
1000=1000kbit/s
CAN节点号
#SNxxx!
1~127
显示当前设定
#RS!
数据传输时间间隔
#SIxxx!
xxx表示时间间隔=xxx×10ms
CAN接收校验码寄存器
#SMxxx!
CAN接收ID寄存器
#SAxxx!
出厂设定
#SRxxx!
t=true,恢复出厂设定(节点号127,波特率125kbit/s)
串口数据传输
#SRxxx!
t=true,启动串口发送数据
f=false,停止串口发送数据
举例:
#STt!
开始串口发送数据
#SB250!
设定CAN口波特率为250kbit/s
#RS!
显示当前设定
#SI13!
发送数据时间间隔130ms
如果发现通过串口修改传感器的节点号和波特率后,发现发送到CAN总线的数据并没有按照设定的节点号发送数据如设定的节点号是4,CAN口应该发送ID=0X184的数据,但是还是发送的以前的数据,说明修改数据并不成功请在修改数据后再发送保存命令和重新启动命令。
在数据设定修改好之后,请接着发送如下数据:
#CR!
#CSa!
三、通过CAN口使用LSS命令设定传感器的节点号和波特率。
可以通过CAN口设定传感器的节点号和波特率参数,注意,在总线上面只能挂一个CAN倾角传感器。
1、修改CAN口的设备节点号
1.1设定传感器到LSS设定模式
1.2设定节点号
Node-ID是16进制的。
如果设定正确,传感器返回数据如下:
1.3发送保存命令
保存命令正确,传感器返回数据如下:
1.4发送命令使传感器退出LSS命令模式
2.修改波特率
2.1发送命令使控制器进入LSS模式
2.2设定传感器的波特率
波特率的可以使用的索引号如下:
如果波特率设置正确,模块返回如下数据:
2.3发送命令使模块在设定时间后使用新设定的波特率
:
延时时间的低字节。
:
延时时间的高字节。
如可以发送如下命令:
2.4发送命令使传感器退出LSS模式
四、通过CANopen使用其对应的索引和子索引设定传感器发送数据的COB-ID。
Item
Value
COB-ID
0x600+ID
Length
8
Data0
0x23
Data1
0x00
Data2
0x18
Data3
0x01
Data4
0x81
Data5
0x01
Data6
0x00
Data7
0x00
ID:
控制器原节点号。
Data5=0x81,Data6=0x01表示数据0x181,表示传感器发送CAN数据报文的COB-ID是0x181,此时设备的节点号是1。
如果Data5=0x86,Data6=0x01,表示传感器发送CAN数据报文的COB-ID是0x186。
此时设备的节点号是6。
传感器返回数据如下:
Item
Value
COB-ID
0x580+ID
Length
8
Data0
0x60
Data1
0x00
Data2
0x18
Data3
0x01
Data4
0x00
Data5
0x00
Data6
0x00
Data7
0x00
数据发送完后必须发送一个保存命令保存修改的数据。
保存命令如下:
Item
Value
COB-ID
0x600+ID
Length
8
Data0
0x23
Data1
0x10
Data2
0x10
Data3
0x01
Data4
0x73
Data5
0x61
Data6
0x76
Data7
0x65
传感器返回数据如下:
Item
Value
COB-ID
0x580+ID
Length
8
Data0
0x60
Data1
0x10
Data2
0x10
Data3
0x01
Data4
0x00
Data5
0x00
Data6
0x00
Data7
0x00
五、通过CANopen使用其对应的索引和子索引设定传感器的分辨率。
索引0x6000里面保存的是传感器的分辨率,分辨率可以修改为1、0.1和0.01
1000――1
100――0.1
10――0.01
讲分辨率修改为0.01
发送数据:
Item
Value
COB-ID
0x600+ID
Length
8
Data0
0x2B
Data1
0x00
Data2
0x60
Data3
0x00
Data4
0x0A
Data5
0x00
Data6
0x00
Data7
0x00
传感器返回数据如下:
Item
Value
COB-ID
0x580+ID
Length
8
Data0
0x60
Data1
0x00
Data2
0x60
Data3
0x00
Data4
0x00
Data5
0x00
Data6
0x00
Data7
0x00
数据发送完后必须发送一个保存命令保存修改的数据。
保存命令如下:
Item
Value
COB-ID
0x600+ID
Length
8
Data0
0x23
Data1
0x10
Data2
0x10
Data3
0x01
Data4
0x73
Data5
0x61
Data6
0x76
Data7
0x65
传感器返回数据如下:
Item
Value
COB-ID
0x580+ID
Length
8
Data0
0x60
Data1
0x10
Data2
0x10
Data3
0x01
Data4
0x00
Data5
0x00
Data6
0x00
Data7
0x00
总之,修改此传感器的节点号和波特率可以有如下两种方法,一种是通过串口设定传感器的节点号和波特率,两外一种是通过CAN口设定传感器的波特率,如果是通过CAN口设定传感器的节点号和波特率必须有两个过程,通过LSS命令只能设定传感器的节点号和波特率,但是传感器向外发送数据的COB-ID还是保持原来的数据不变,必须还用通过CAN口使用索引和子索引设定传感器向外发送数据的COB-ID。
注意设定的COB-ID中的设备的节点号必须和LSS命令设定的节点号一致。
使用SPN控制器接收倾角传感器的数据说明:
如果传感器的节点号是4,那么传感器发送的数据格式如下:
0X184,8,D0,D1,D2,D3,D4,D5,D6,D7
使用控制器的CANOPEN口就可以接收传感器的数据,那么控制器的CANOPEN初始化程序可以如下:
IFBooting=FALSETHEN
CANOPEN_START_INIT(ENABLE:
=TRUE);(*开始初始化*)
CANOPEN_ADD_RECEIVE_PDO(ENABLE:
=TRUE,PDO_TYPE_SELECT:
=FALSE,ID:
=4,PDO:
=1);(*接收ID=0X184的数据,讲接收的数据的8个字节保存到地址IW200,IW201,IW202,IW203中*)
CANOPEN_END_INIT(ENABLE:
=TRUE);
Booting:
=TRUE;
END_IF
可以直接使用CAN口进行倾角传感器的标定和参数设置。
举例如下:
修改NID
发送:
进入LSS模式
COB-ID
DLC
DO
D1
D2
D3
D4
D5
D6
D7
7E5
2
04
01
发送:
修改节点号为1
COB-ID
DLC
DO
D1
D2
D3
D4
D5
D6
D7
7E5
2
11
01
返回:
COB-ID
DLC
DO
D1
D2
D3
D4
D5
D6
D7
7E4
3
11
00
00
发送:
发送保存命令
COB-ID
DLC
DO
D1
D2
D3
D4
D5
D6
D7
7E5
1
17
返回:
COB-ID
DLC
DO
D1
D2
D3
D4
D5
D6
D7
7E4
3
17
00
00
发送:
退出LSS模式
COB-ID
DLC
DO
D1
D2
D3
D4
D5
D6
D7
7E5
2
04
00
修改波特率
发送:
进入LSS模式
COB-ID
DLC
DO
D1
D2
D3
D4
D5
D6
D7
7E5
2
04
01
发送:
修改波特率为250K
COB-ID
DLC
DO
D1
D2
D3
D4
D5
D6
D7
7E5
3
13
00
03
返回:
COB-ID
DLC
DO
D1
D2
D3
D4
D5
D6
D7
7E4
3
13
00
00
发送:
在0x50ms后修改波特率命令生效
COB-ID
DLC
DO
D1
D2
D3
D4
D5
D6
D7
7E5
3
15
50
00
发送:
退出LSS模式
COB-ID
DLC
DO
D1
D2
D3
D4
D5
D6
D7
7E5
2
04
00
修改发送报文ID
发送:
修改发送数据ID为0x181
COB-ID
DLC
DO
D1
D2
D3
D4
D5
D6
D7
600+NID
8
23
00
18
01
81
01
00
00
接收
COB-ID
DLC
DO
D1
D2
D3
D4
D5
D6
D7
580+NID
8
60
00
18
01
00
00
00
00
发送:
发送保存命令
COB-ID
DLC
DO
D1
D2
D3
D4
D5
D6
D7
600+NID
8
23
10
10
01
73
61
76
65
返回:
COB-ID
DLC
DO
D1
D2
D3
D4
D5
D6
D7
580+NID
8
60
10
10
01
00
00
00
00
修改分辨率
发送:
分辨率设置为0.1度
COB-ID
DLC
DO
D1
D2
D3
D4
D5
D6
D7
600+NID
8
2B
00
60
00
64
00
00
00
接收:
COB-ID
DLC
DO
D1
D2
D3
D4
D5
D6
D7
580+NID
8
60
00
60
00
00
00
00
00
发送:
发送保存命令
COB-ID
DLC
DO
D1
D2
D3
D4
D5
D6
D7
600+NID
8
23
10
10
01
73
61
76
65
返回:
COB-ID
DLC
DO
D1
D2
D3
D4
D5
D6
D7
580+NID
8
60
10
10
01
00
00
00
00