我编写的EEPROM 上位机软件

  1. 进入模式:

    上位机发送 消息

    上位机EEPROM 按下进入模式

    消息的ID号是:0x08111111 数据是: 00 01 ff 00 00 00 00 00

    上位机显示 运行状态 :为进入模式

     

    当我用下位机 发送

    下位机通过CANTest 进行发送 消息

    消息的ID号 是: 0x08222222 数据是: 00 02 FF 00 00 00 00 00

    上位机显示 运行状态: 已经进入参数修改模式

    延时一会 运行状态 显示 : 空闲

     

     

    当我选择 额定电流(有效值) 设置为 220 然后点击设定参数

    消息的ID号 0X8111111 数据 04 FF FF 00 00 00 00 00

     

     

     

 

 

 

第2次抓到了6个消息

 

消息1 :ID号 0X0811111 数据 04 FF FF 00 00 00 00 00 上位机发给下位机

消息2 :ID号 0X8222222 数据 03 00 FF 00 00 00 00 00 下位机发给上位机

消息3: ID号 0X8111111 数据 00 02 FF 00 DC 00 01 00 上位机发给下位机

消息4: ID号 0x8222222 数据 00 01 FF 00 DC 00 01 00 下位机发给上位机

消息5: ID号 0X811111 数据 00 04 FF 00 00 00 00 00 上位机发给下位机

消息6: ID号 0X8222222 数据04 00 FF 00 00 00 00 00 下位机发给上位机

 

这个过程我总计为一步一应答的操作

 

步骤1 : 上位机发送给下位机 消息1 告诉下位机我现在要写控制参数

步骤2 : 下位机发送给上位机 消息2 下位机数据修改开始控制帧

步骤3: 上位机发送应答帧 消息3 告诉下位机 我设定的数据

步骤4: 下位机发送给上位机 消息4 下位机返回给上位机设定的内容

步骤5: 上位机任务完成通知帧 消息5 通知下位机 当前任务已经完成,可以将其从任何可能的死循环中退出来。(通讯定时时间循环20200121)

步骤6: 下位机发送给上位机 告诉上位机 数据已经被成功写入

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

试验2:

EEPROM 只设定一个参数 最大电流(有效值) 423A

消息1: ID号 0x8111111 数据 04 ff ff 00 00 00 00 00

消息2: ID号 0X8222222 数据 03 00 ff 00 00 00 00 00

消息3: ID号 0X8111111 数据 00 02 ff 00 a7 01 02 00

消息4:ID号0X8222222 数据 00 01 ff 00 a7 01 02 00

消息5:ID号 0x8111111 数据 00 04 ff 00 00 00 00 00

消息6:ID号0X8222222 数据 04 00 ff 00 00 00 00 00

 

 

试验3:

EEPROM 设定MTPA初始位置角度 MTPA 角度设为 1715

 

6个消息

消息1 ID号0X8111111 数据 04 FF FF 00 00 00 00 00

消息2 ID号 0x8222222 数据 03 00 ff 00 00 00 00 00

消息3 ID号0X8111111 数据 00 02 FF 00 b3 06 1d 00

消息4 ID号 0X8222222 数据 00 01 ff 00 b3 06 1d 00

消息5 ID号 0X8111111 数据 00 04 ff 00 00 00 00 00

消息6 ID号 0X8222222 数据 04 00 ff 00 00 00 00 00

 

 

 

 

 

 

 

 

试验3 选择 写

控制参数页的两个参数 参数1:转速Kp 1650

参数2: MTPA角度 1715

 

用台式机的CANtest 共获得8个消息

消息1 ID号0x08111111 数据:04 ff ff 00 00 00 00 00

消息2 ID号 0X08222222 数据:03 00 ff 00 00 00 00 00

消息3 ID号 0x81111111 数据: 00 02 ff 00 72 06 11 00

消息4 ID号 0X8222222 数据:00 01 ff 00 72 06 11 00

消息5 ID号 0X8111111 数据 00 02 ff 00 b3 06 1d 00 (十六进制06b3 对应十进制1715

消息6 ID号 0X8222222 数据 00 01 ff 00 b3 06 1d 00

消息7ID号0X8111111 数据 00 04 ff 00 00 00 00 00

消息8 ID号 0X8222222 数据 04 00 ff 00 00 00 00 00

 

对以上步骤进行说明:(重要)

步骤1:

上位机 发送下位机操作模式控制帧

步骤2:

下位机向上位机发送数据开始修改控制帧

步骤3:

上位机发送应答帧,上传给下位机中需要修改的参数

十六进制的0x0672 代表10进制的 1650

00 02 ff 00 72 06 11 00

步骤4:

下位机将上位机设定的参数再次上传上来

00 01 ff 00 72 06 11 00

 

步骤5:

上位机发应答帧 ,上传下位机需要修改的参数

00 02 ff 00 b3 06 1d 00

步骤6:

下位机将上位机设定的参数再次上传上来

00 01 ff 00 b3 06 1d 00

步骤7:

上位机发送的 00 04 ff 00 00 00 00 00

上位机任务完成通知帧,通知下位机当前任务已经完成。可以将其从任何可能的死循环中退出。

步骤8:

下位机发送给上位机,告知上位机 下位机的数据被成功的写入。

 

试验4:

假设我在控制参数中 需要设定5个参数

参数1 转速kp 1650

参数2 转速 ki 820

参数3 转速 kd 3280

 

MTPA角度 1715

超速Kp 426

 

这样下来 我应该一共需要 14 个帧

消息1 ID号 0x8111111 数据 04 ff ff 00 00 00 00 00

消息2 ID号 0x8222222 数据 03 00 ff 00 00 00 00 00 (下位机告诉上位机,下位机进入参数修改控制模式)

消息3 ID号 0X8111111 数据 00 02 ff 00 72 06 11 00

消息4 ID号 0X8222222 数据 00 01 ff 00 72 06 11 00

消息5 ID号 0X8111111 数据 00 02 ff 00 34 03 12 00 (0x0334 代表十进制820)

消息6 ID号 0X8222222 数据 00 01 ff 00 34 03 12 00 (0x0334 代表十进制820)

消息7 ID号 0X8111111 数据 00 02 ff 00 d0 0c 13 00 (0X0cd0代表十进制 3280)

消息8 ID号0X8222222 数据00 01 ff 00 d0 0c 13 00

消息9 ID号 0X8111111 数据 00 02 ff 00 b3 06 1d 00 (0x06b3代表十进制1715)

消息10 ID 号 0X8222222 数据 00 01 ff 00 b3 06 1d 00

消息11 ID 号 0x 8111111 数据 00 02 ff 00 aa 01 1e 00 (0x01aa代表十进制426 )

消息12ID 号 0x8222222 数据 00 01 ff 00 aa 01 1e 00

消息13 ID 号 0x8111111 数据 00 04 ff 00 00 00 00 00

上位机任务完成通知帧,通知下位机当前任务已经完成。可以将其从任何可能的死循环中退出。

消息14 ID号 0X8222222 数据 04 00 ff 00 00 00 00 00

下位机发送给上位机,告知上位机 下位机的数据被成功的写入。

 

 

 

 

 

我现在尝试用busmaster 实现对数据帧的保存功能

第一步:打开busmaster 设置好通道与波特率

第二步:

 

第三步: 设置文件保存的位置 例如桌面 20190409 文件夹

 

 

然后用eeprom 设定参数

假设设定两个参数

额定电流(有效值)220

最大电流(有效值)423

点击了eeprom 的发送按钮 以后,

然后点击busmaster 上面的disconnect 选项卡断开连接

然后就可以在桌面上看见 2019 04 09的text文件

 

 

回写EEPROM 制显示成功写入42个参数

从通讯协议上看, 从最大功率开始,剩余的6个参数没有设定。

 

读取EEPROM试验

用笔记本电脑的EEPROM 软件完成读取EEPROM 操作

用台式机的周立功软件 对 网络上的CAN数据进行监测,得到了 从0----144编号的消息帧

如下图所示:

接收消息的开始处

序号从 00000000 开始

序号到00000144 结束的视图

 

 

 

对上面的消息开始翻译:

消息0 ID号 0X08111111 数据 01 FF FF 00 00 00 00 00 上位机 发送给DSP

消息1 ID号 0x08222222 数据 01 00 FF 00 00 00 00 00 DSP上传给上位机

消息2 ID号 0X08111111 数据 00 03 FF 00 00 00 00 00 上位机发送给DSP

消息3 ID号 0x08222222 数据 00 01 FF 00 2E 00 00 00 (2E表示10进制的46)

 

消息4 ID号 0x08111111 数据 00 02 FF 00 00 00 00 00 上位机 发送给DSP

消息5 ID号 0X08111111 数据 00 03 FF 00 00 00 00 00 上位机 发送给DSP

消息6 ID号 0X08222222 数据 00 01 FF 00 01 00 01 00 DSP上传给上位机

 

消息7 ID号 0X08111111 数据 00 02 FF 00 00 00 01 00

消息8 ID号 0x08111111 数据 00 03 FF 00 00 00 00 00

消息9 ID号 0x08222222 数据 00 01 FF 00 02 00 02 00

 

消息10 ID号 0x08111111 数据 00 02 FF 00 00 00 02 00

消息11 ID号 0x08111111 数据 00 03 FF 00 00 00 00 00

消息12 ID号 0x08222222 数据 00 01 FF 00 03 00 03 00

 

消息13 ID号 0x08111111 数据 00 02 FF 00 00 00 03 00

消息14 ID号 0X08111111 数据 00 03 FF 00 00 00 00 00

消息15 ID号 0X08222222 数据 00 01 FF 00 04 00 04 00

 

消息16 ID号 0x08111111 数据 00 02 FF 00 00 00 04 00

消息17 ID号 0x08111111 数据 00 03 FF 00 00 00 00 00

消息18 ID号 0X08222222 数据 00 01 FF 00 05 00 05 00

 

消息19 ID号0x08111111 数据 00 02 FF 00 00 00 05 00

消息20 ID号0x08111111 数据 00 03 ff 00 00 00 00 00

消息21 ID号0x08222222 数据 00 01 FF 06 00 00 06 00

 

 

 

………………………..省略……………………..

 

 

 

消息139 ID号 0x08111111 数据 00 02 FF 00 00 00 2D 00

消息140 ID号 0x08111111 数据 00 03 FF 00 00 00 00 00

消息141 ID号 0x08222222 数据 00 01 FF 00 00 00 2E 00

 

消息142 ID号 0x08111111 数据 00 02 FF 00 00 00 2E 00

消息143 ID号 0x08111111 数据 00 04 FF 00 00 00 00 00

消息144 ID号 0x08222222 数据 02 00 FF 00 00 00 00 00

 

协议解析

消息0 ID号 0X08111111 数据 01 FF FF 00 00 00 00 00 上位机 发送给DSP

上位机告诉DSP 我要读取参数

消息1 ID号 0x08222222 数据 01 00 FF 00 00 00 00 00 DSP上传给上位机

下位机数据上传起始控制帧

消息2 ID号 0X08111111 数据 00 03 FF 00 00 00 00 00 上位机发送给DSP

上位机请求控制帧 发送给DSP的 ---上位机发送读指令

消息3 ID号 0x08222222 数据 00 01 FF 00 2E 00 00 00 (2E表示10进制的46)

DSP 发给 上位机的 告诉 上位机 我有46个参数准备上传

 

 

 

消息4 ID号 0x08111111 数据 00 02 FF 00 00 00 00 00 上位机 发送给DSP

上位机 应答 DSP的请求 -----上位机要读取DSP为ID号为0的参数

 

消息5 ID号 0X08111111 数据 00 03 FF 00 00 00 00 00 上位机 发送给DSP

上位机 然后 请求 DSP --上位机发送读指令

 

消息6 ID号 0X08222222 数据 00 01 FF 00 01 00 01 00 DSP上传给上位机

DSP 上传给上位机数据 DSP上传了ID号为0 1的参数

 

 

消息7 ID号 0X08111111 数据 00 02 FF 00 00 00 01 00

上位机要读取DSP的ID号为1的参数

消息8 ID号 0x08111111 数据 00 03 FF 00 00 00 00 00

上位机发送给DSP ------上位机 发送读指令

消息9 ID号 0x08222222 数据 00 01 FF 00 02 00 02 00

DSP上传给上位机的数据 DSP上传了ID号为0 2参数

 

 

 

消息142 ID号 0x08111111 数据 00 02 FF 00 00 00 2E 00

消息143 ID号 0X08111111 数据

消息144

 

 

 

 

 

 

 

 

 

 

用kavaser 抓包 得到

17:53:35:7522 Rx 1 0x8111111 x 8 01 FF FF 00 00 00 00 00

17:53:35:7532 Rx 1 0x8222222 x 8 01 00 FF 00 00 00 00 00

17:53:35:8112 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:35:8122 Rx 1 0x8222222 x 8 00 01 FF 00 2E 00 00 00

17:53:35:9252 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 00 00

17:53:35:9752 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:35:9762 Rx 1 0x8222222 x 8 00 01 FF 00 01 00 01 00

17:53:36:0752 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 01 00

17:53:36:1262 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:36:1272 Rx 1 0x8222222 x 8 00 01 FF 00 02 00 02 00

17:53:36:2342 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 02 00

17:53:36:2872 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:36:2872 Rx 1 0x8222222 x 8 00 01 FF 00 03 00 03 00

17:53:36:3882 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 03 00

17:53:36:4392 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:36:4392 Rx 1 0x8222222 x 8 00 01 FF 00 04 00 04 00

17:53:36:5442 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 04 00

17:53:36:5972 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:36:5972 Rx 1 0x8222222 x 8 00 01 FF 00 05 00 05 00

17:53:36:6992 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 05 00

17:53:36:7502 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:36:7512 Rx 1 0x8222222 x 8 00 01 FF 00 06 00 06 00

17:53:36:8612 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 06 00

17:53:36:9122 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:36:9132 Rx 1 0x8222222 x 8 00 01 FF 00 07 00 07 00

17:53:37:0132 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 07 00

17:53:37:0642 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:37:0642 Rx 1 0x8222222 x 8 00 01 FF 00 08 00 08 00

17:53:37:1682 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 08 00

17:53:37:2192 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:37:2202 Rx 1 0x8222222 x 8 00 01 FF 00 09 00 09 00

17:53:37:3242 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 09 00

17:53:37:3752 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:37:3762 Rx 1 0x8222222 x 8 00 01 FF 00 0A 00 0A 00

17:53:37:4842 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 0A 00

17:53:37:5352 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:37:5362 Rx 1 0x8222222 x 8 00 01 FF 00 0B 00 0B 00

17:53:37:6392 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 0B 00

17:53:37:6902 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:37:6902 Rx 1 0x8222222 x 8 00 01 FF 00 0C 00 0C 00

17:53:37:7952 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 0C 00

17:53:37:8472 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:37:8482 Rx 1 0x8222222 x 8 00 01 FF 00 0D 00 0D 00

17:53:37:9492 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 0D 00

17:53:38:0002 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:38:0012 Rx 1 0x8222222 x 8 00 01 FF 00 0E 00 0E 00

17:53:38:1102 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 0E 00

17:53:38:1612 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:38:1622 Rx 1 0x8222222 x 8 00 01 FF 00 0F 00 0F 00

17:53:38:2642 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 0F 00

17:53:38:3152 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:38:3162 Rx 1 0x8222222 x 8 00 01 FF 00 10 00 10 00

17:53:38:4242 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 10 00

17:53:38:4752 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:38:4762 Rx 1 0x8222222 x 8 00 01 FF 00 72 06 11 00

17:53:38:5742 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 11 00

17:53:38:6252 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:38:6262 Rx 1 0x8222222 x 8 00 01 FF 00 34 03 12 00

17:53:38:7362 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 12 00

17:53:38:7872 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:38:7882 Rx 1 0x8222222 x 8 00 01 FF 00 D0 0C 13 00

17:53:38:8872 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 13 00

17:53:38:9382 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:38:9382 Rx 1 0x8222222 x 8 00 01 FF 00 94 02 14 00

17:53:39:0432 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 14 00

17:53:39:0942 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:39:0952 Rx 1 0x8222222 x 8 00 01 FF 00 58 02 15 00

17:53:39:0962 Rx 1 0x8222222 x 8 00 01 FF 00 58 02 15 00

17:53:39:2012 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 15 00

17:53:39:2522 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:39:2532 Rx 1 0x8222222 x 8 00 01 FF 00 9A 19 16 00

17:53:39:2532 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 16 00

17:53:39:3042 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 16 00

17:53:39:3552 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:39:3552 Rx 1 0x8222222 x 8 00 01 FF 00 94 02 17 00

17:53:39:4652 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 17 00

17:53:39:5162 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:39:5162 Rx 1 0x8222222 x 8 00 01 FF 00 58 02 18 00

17:53:39:6272 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 18 00

17:53:39:6782 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:39:6792 Rx 1 0x8222222 x 8 00 01 FF 00 9A 19 19 00

17:53:39:7822 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 19 00

17:53:39:8332 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:39:8342 Rx 1 0x8222222 x 8 00 01 FF 00 46 01 1A 00

17:53:39:9352 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 1A 00

17:53:39:9862 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:39:9862 Rx 1 0x8222222 x 8 00 01 FF 00 64 00 1B 00

17:53:40:0952 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 1B 00

17:53:40:1472 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:40:1472 Rx 1 0x8222222 x 8 00 01 FF 00 9A 19 1C 00

17:53:40:2532 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 1C 00

17:53:40:3042 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:40:3052 Rx 1 0x8222222 x 8 00 01 FF 00 B3 06 1D 00

17:53:40:4072 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 1D 00

17:53:40:4602 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:40:4602 Rx 1 0x8222222 x 8 00 01 FF 00 AA 01 1E 00

17:53:40:5602 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 1E 00

17:53:40:6112 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:40:6112 Rx 1 0x8222222 x 8 00 01 FF 00 C3 05 1F 00

17:53:40:7212 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 1F 00

17:53:40:7722 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:40:7722 Rx 1 0x8222222 x 8 00 01 FF 00 9A 19 20 00

17:53:40:8772 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 20 00

17:53:40:9282 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:40:9292 Rx 1 0x8222222 x 8 00 01 FF 00 40 06 21 00

17:53:41:0272 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 21 00

17:53:41:0782 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:41:0792 Rx 1 0x8222222 x 8 00 01 FF 00 AC 0D 22 00

17:53:41:1872 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 22 00

17:53:41:2382 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:41:2382 Rx 1 0x8222222 x 8 00 01 FF 00 B6 03 23 00

17:53:41:3452 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 23 00

17:53:41:3962 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:41:3962 Rx 1 0x8222222 x 8 00 01 FF 00 04 00 24 00

17:53:41:5032 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 24 00

17:53:41:5542 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:41:5552 Rx 1 0x8222222 x 8 00 01 FF 00 04 00 25 00

17:53:41:6532 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 25 00

17:53:41:7042 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:41:7052 Rx 1 0x8222222 x 8 00 01 FF 00 00 00 26 00

17:53:41:8102 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 26 00

17:53:41:8612 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:41:8612 Rx 1 0x8222222 x 8 00 01 FF 00 82 00 27 00

17:53:41:9692 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 27 00

17:53:42:0212 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:42:0212 Rx 1 0x8222222 x 8 00 01 FF 00 05 00 28 00

17:53:42:1252 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 28 00

17:53:42:1772 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:42:1782 Rx 1 0x8222222 x 8 00 01 FF 00 00 40 29 00

17:53:42:2832 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 29 00

17:53:42:3352 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:42:3362 Rx 1 0x8222222 x 8 00 01 FF 00 05 00 2A 00

17:53:42:3372 Rx 1 0x8222222 x 8 00 01 FF 00 05 00 2A 00

17:53:42:4342 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 2A 00

17:53:42:4852 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:42:4852 Rx 1 0x8222222 x 8 00 01 FF 00 00 00 2B 00

17:53:42:4862 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 2B 00

17:53:42:5362 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 2B 00

17:53:42:5892 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:42:5892 Rx 1 0x8222222 x 8 00 01 FF 00 00 00 2C 00

17:53:42:7022 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 2C 00

17:53:42:7532 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:42:7542 Rx 1 0x8222222 x 8 00 01 FF 00 00 00 2D 00

17:53:42:8602 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 2D 00

17:53:42:9112 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00

17:53:42:9122 Rx 1 0x8222222 x 8 00 01 FF 00 00 00 2E 00

17:53:43:0142 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 2E 00

17:53:43:0652 Rx 1 0x8111111 x 8 00 04 FF 00 00 00 00 00

17:53:43:0652 Rx 1 0x8222222 x 8 02 00 FF 00 00 00 00 00

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

第2页参数的读取过程

假设 第2页 我设置开始的四个参数

分别是转速 KP 1650

分别是转速 KI 820

分别是转速 Kd 3280

D轴电流 KP 660

 

第一帧 是 上位机发送给下位机 告诉下位机 我要修改参数

04 FF FF 00 00 00 00 00

 

第二帧 是 下位机上传给上位机 告诉上位机 下位机已经准备好了 上位机机对下位机进行参数修改,等待上位机发送修改参数的指令 如下图:

 

第三帧 上位机发送给下位机 要修改的参数

消息帧为 00 02 FF 00 72 06 11 00 ID号是 0x08111111

00 02 FF 表示是握手帧 是应答端 对于本次修改参数,上位机是发送端,下位机是应答端

  1. 是保留字节

72 是参数的低字节

06 是参数的高字节

11 是参数ID号

  1. 是保留字节

 

第四帧 是下位机通知上位机 下位机已经完成了上位机要我完成的事情

消息帧为 00 01 FF 00 72 06 11 00 ID号0X08222222

00 01 FF 表示是 握手帧 是发起端 对于本次修改参数

  1. 是保留字节

72 是参数的低字节

06 是参数的高字节

11 是参数的ID号

00 是保留字节

 

同理 第5帧 第6帧 第7帧 第8帧 第9帧 第10帧

 

第11帧 上位机 发送给 下位机

ID 号 0X08111111 00 04 FF 00 00 00 00 00

  1. 04 FF 上位机任务完成通知帧,告知下位机 当前任务已经完成,可以将其从任何可 能的死循环中退出

第12帧 下位机 发送给 上位机

ID号 0X8222222 04 00 FF 00 00 00 00 00

04 00 FF 是下位机 告诉 上位机 上位机所设定的数据已经成功写入

百度网盘 已经上传程序源文件 以及 上位机的操作视频。  视频软件可参考。

猜你喜欢

转载自www.cnblogs.com/bailongwei654321/p/12220755.html
今日推荐