基于Python开发自定义协议编辑发送工具

📅 2026/8/9 1:26:13
基于Python开发自定义协议编辑发送工具
一、小程序功能设计1、自定义协议帧格式设计1功能背景①在软件开发岗位的工作中经常会涉及企业自定义的私有协议这些私有协议不像CAN通信、USB通信、串口通信它们往往定义在应用层没有专门的软件对数据流进行整合或解析。②为了减少自定义协议帧格式带来的额外工作量可以设计程序实现协议模板定义功能直接在小程序中编辑协议帧的各字段定义并保存为模板用户可以使用该模板快速生成或解析自定义协议的数据帧。2协议模板管理功能定义①打开小程序后有三个页面选项卡其中第一个选项卡“协议模板编辑器”就是该功能的界面。②该功能的定义与自定义协议编辑工具一致具体可参考《基于Python开发自定义协议编辑工具》此处不过多赘述。2、常用报文库配置1功能背景①自定义协议编辑工具只支持应用层协议报文的生成和解析而在嵌入式调试中经常需要使用上位机发送报文如果每次发送前都在自定义协议编辑工具内部生成数据流然后复制到其它通用的收发工具中发送会非常繁琐。②为了减少这种重复的工作量可以基于自定义的协议帧格式直接配置常用报文保存在本地并按照使用的模板和报文用途对它们进行分类和命名这样后续需要使用该报文测试时不需要重新在编辑工具中生成而是直接在常用报文库中根据报文名找到保存的报文即可。2功能定义①打开小程序后有三个页面选项卡其中第二个选项卡“常用报文库”就是该功能的界面。②报文分类管理[1]为避免报文库出现空分类的情况小程序默认存在一个“默认分类”如果用户不自行新增分类直接配置报文则报文默认归属于“默认分类”。[2]点击“新增分类”然后在弹出的输入框中输入分类名称再点击“OK”即可新增分类。[3]下拉框选择想要删除的分类然后点击“删除分类”然后在弹出的对话框中点击“是”即可删除分类同时该分类下的所有报文也会一并被删除。③根据模板配置常用报文[1]先在下拉框选择协议模板如果没有对应的协议模板则回到“协议模板编辑器”选项卡先新建、编辑、保存模板再回到本选项卡选择协议模板。[2]选好报文分类以后点击“配置报文并保存入库”填写报文字段信息、报文名称和报文用途然后点击“生成并保存报文”即可在报文库中添加一条常用报文。④编辑和删除已配置报文[1]在报文列表中双击报文条目在弹出的窗口中可以编辑已配置报文编辑完毕后点击“生成并保存报文”即可如果报文中有CRC校验字段则CRC校验码会重新计算。[2]在报文列表中单击选中报文条目然后点击“删除选中”即可删除已配置报文。⑤在报文列表中单击选中报文条目然后点击“复制Hex”即可复制报文的内容十六进制数据流。3、总线发送控制台1功能背景①如果只有常用报文库功能那还是没办法省去复制黏贴的工作量对此继续开发小程序功能将发送报文的功能引入发送控制台能直接读取报文库中的报文用户只需配置通信接口的参数、报文的发送方式选择想要发送的应用层报文然后控制发送即可数据链路层的协议封装由小程序和通信协议硬件自动实现。②小程序计划开发串口TTL/RS232、CAN和USB三个比较常用的通信接口考虑到RS485通常和Modbus配合使用Modbus有专门的上位机所以暂不开发RS485通信接口在实际开发中如果有其它通信接口需求可在该小程序的基础上继续增加功能。