总述:
所有通信地址,由CAN控制器的11位标准标识符指定,这里只规定有效数据的格式。主机主动发送指令,请求探测器数据。
一、地址分配协议:
1、探测器
接收地址: mkaddr 1 - 99 用于接收读漏电指令和设置漏电限值
广播地址: 0x7f4 用于复位
2、上位机接收数据
返回信息:0x400+探测器地址
返回信息:0x600+探测器地址
二、数据通信协议
1、主机取漏电值
发送:‘R’程序如下:
canbuf[0]=0x00;
canbuf[1]=canptr/8;
canbuf[2]=canptr%8;
canbuf[2]<<=5;
canbuf[3]=0x00;
canbuf[4]=0x00;
canbuf[5]=0x01;
canbuf[6]='R';
TX_dat(0);
2、主机复位探测器
发送:‘C’程序如下:
vv=0x7f4;
canbuf[0]=0x00;
canbuf[1]=vv/8;
canbuf[2]=vv%8;
canbuf[2]<<=5;
canbuf[3]=0x00;
canbuf[4]=0x00;
canbuf[5]=0x01;
canbuf[6]='C';
TX_dat(0);
3、主机设置探测器
发送:‘S’+内容程序如下:
vv=txaddr;
canbuf[0]=0x00;
canbuf[1]=vv/8;
canbuf[2]=vv%8;
canbuf[2]<<=5;
canbuf[3]=0x00; 缓冲区0 前8字节缓冲区1 后8字节 // 探测器地址:1 - 99 //
1字节数据 // 发送指令 // 探测器复位地址: 0x07f4 // 1字节数据 // 探测器设置地址:1 - 99