夜光:车载通讯系统详细设计 (五)

2024-03-17 19:20

本文主要是介绍夜光:车载通讯系统详细设计 (五),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

夜光序言:

 

黄金榜上。偶失龙头望。明代暂遗贤,如何向。

未遂风云便,争不恣狂荡。

何须论得丧。才子词人,自是白衣卿相。

 

烟花巷陌,依约丹青屏障。

幸有意中人,堪寻访。

且恁偎红翠,风流事、平生畅。

青春都一饷。

忍把浮名,换了浅斟低唱。

 

 

 

 

 

 

 

 

 

正文:

 

数据包中内容采用16进制存储,命令对应数据内容中各段字节数也是固定的, 具体格式在此不做详细说明。由于上行时只是用于传递确认路径已走完的信息, 故上行数据包中,只发送路径编号即可。


命令对应数据内容说明如下:

 

● 路径名称: 如:P00001---P00002 即可表示为一个路径编号。理论上可支持 过亿条路径来组成完整的路径表。

● 小车速度:从 0-4 分别代表一个速度档位,0 为静止,4 位高速。具体数 值由小车通过档位设定计算。

● 小车方向: 小车方向分为前进和后退两种,0 代表前进,1 代表后退。

● 目的地点:小车该路径可以到达的停止点编号。

● 执行动作:工作机构动作有可能是一个复杂的指令集,如:叉车抓取某货 位上的货物时。因此需要单独定义机构的动作,故将协议定成字符串指令集,如表所示,在发送时由地面控制系统转为字节数组打包到协议对应的位置,车载 通讯系统按字符数组转为字符串。

 

执行动作指令集 

多条路径时,PATH 指令会分成多次发送,且每次都需要上行确认。直到发完 当前订单内包含的所有路径为止。 

 


 

 

激光头与车载通讯系统通讯协议 


车载通讯系统在与激光头的通讯内容相对简单,只包括部分参数配置命令与 定位信息,数据包格式与发送给地面控制系统的数据包协议格式类似,只减少了小车 ID 这一属性,因为每辆车都配有一个激光头,这里不再另做叙述。对于激光 头通讯模块的主要通讯内容:定位信息的规定如表所示。 

 定位信息规格 

PLC 与车载通讯系统通讯协议 


车载通讯系统与 PLC 的数据交互式通过 ADS 通讯协议提供的系统接口,获取 PLC 控制系统变量的句柄,并读写相应数据。为了保证将地面控制系统的指令与 信息准确传达给 PLC 控制系统,必须设置合理的 PLC 变量,规范变量类型,并保证使用过程中数据的单位保持一致,其在 PLC 中主要定义的变量

 

 PLC 通讯协议主要变量 

其中值得特别说明的是 Flag 标志,其取值范围为 0、1、2,0 表示初始状态, 1 表示写入的路径未执行或正在执行,2 表示路径已执行完。车载通讯系统通过获 取 Flag 标志来获知路径执行情况,以此判断是否继续写入路径。

 

其中 Str_Path1 和 Str_Path2 是自定义结构 PLCPath,其结构定义如表 

 

 PLCPath 结构 

为了方便读写 PLC 路径信息,在车载通讯系统中使用了对应的数据结构,结 构需要与 PLC 路径类型的各字段顺序、类型保持一致,并且字节对齐为 1 字节, 定义如下:

struct PLCPath

{

short Number;

int X1;

int Y1;

int Th1;

int X2;

int Y2;

int Th2;

short Rad;

char Path_Type;   //DIRECT or ARC  

char Dir[81];         //FORWARD or BACKWARD;

 char Ort;         // CW or CCW char Next_P;

char Path;

short Speed;

char Work;

}; 

 

 

 

 

 

 

 

 

 

 

这篇关于夜光:车载通讯系统详细设计 (五)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/819885

相关文章

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

Mac系统下卸载JAVA和JDK的步骤

《Mac系统下卸载JAVA和JDK的步骤》JDK是Java语言的软件开发工具包,它提供了开发和运行Java应用程序所需的工具、库和资源,:本文主要介绍Mac系统下卸载JAVA和JDK的相关资料,需... 目录1. 卸载系统自带的 Java 版本检查当前 Java 版本通过命令卸载系统 Java2. 卸载自定

CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比

《CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比》CSS中的position属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布... css 中的 position 属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布局和层叠关

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实