AGV数据访问类库
1. AGV客户端数据访问
AGV系统中数据访问层的详细定义和实现:涉及了系统参数处理、程序集配置、AGV档案信息处理、AGV特殊指令处理、地图信息处理、特殊交通管制处理、报表信息处理、坐标体系处理、用户信息处理、区域、物料等简易档案的处理、呼叫器档案处理、任务生成配置处理、特殊线路线段配置、IO模块功能配置以及平板档案处理等方面的内容。为AGV系统提供了底层数据处理和业务逻辑的实现,涵盖了系统的多个关键功能模块,为上层应用提供了数据支持和功能实现。
1.1 系统参数处理:包括根据【输入】系统参数编码获取【输出】系统参数(参数编码、参数值、参数名)、保存系统参数(【输入】系统参数列表),以及加载所有的系统参数模板。
根据系统参数编码获取系统参数的方法: 创建数据库操作对象,创建哈希表用于存储查询参数,设置查询参数,调用数据库操作对象的加载数据方法执行查询,返回数据表,确保数据表非空且行数为正,将数据表转换为系统参数实体列表,返回第一个元素。
保存系统参数的方法:【输入】创建数据库操作对象实例,创建事务范围,删除旧的系统参数,遍历系统参数列表,保存每个系统参数,完成事务。返回操作成功信息。如果捕获到异常,返回失败消息及异常信息。
加载所有的系统参数模板的方法:创建数据库操作对象实例,加载系统参数模板数据
1.2 程序集配置:包括保存AGV程序集配置(类操作类型【AGV通信 自动充电桩通信 调度逻辑处理 外围逻辑处理 非标逻辑处理】、类名称、描述)和加载所有程序集配置。
保存AGV基础程序集的方法(【输入】程序集列表):创建数据库操作对象实例,创建事务范围,删除旧的AGV程序集,遍历并保存所有程序集集,事务完成,返回操作成功的操作返回信息。如果捕获到异常,则返回操作失败号和异常信息。
加载所有程序集配置: 创建数据库操作对象实例,加载所有程序集配置返回数据表,将数据表转换为实体程序集列表并返回。
3. AGV档案信息处理:包括加载所有AGV档案、加载 车信息(异常二进制码、AGV开始等待时间点、AGV上一次充电时间点、AGV上一次推送坐标的时间点、异常类别的编号、异常类别对应字符串描述、AGV是否处于等待状态、等待的时间长度、AGV是否被交管锁定、加水车水量-针对特定类型AGV) 档案和保存AGV基础档案。
加载所有AGV基础状态档案的方法: 创建数据库操作实例,加载AGV档案数据,将数据表转换成AGV基础状态信息实体列表并返回。
加载所有车辆信息(继承自车辆基础状态信息)档案的方法:创建数据库操作对象示例,加载AGV档案数据,返回数据表,将数据表转换成AGV车信息实体的列表并返回。
保存AGV基础档案列表的方法(【输入】车基础状态档案列表):创建数据库操作对象实例,创建事务范围,创建哈希表存储参数,首先删除旧的AGV档案,遍历车基础状态信息列表,填充哈希表,保存档案,完成事务,返回操作成功信息。捕获异常返回操作失败信息。
4. AGV特殊指令处理:包括保存动作信息(动作编码 动作名称 动作命令 动作参数 是否系统指令)、加载所有动作信息、初始化系统命令。
保存动作信息的方法: (【输入】动作命令信息列表) ,创建数据库操作对象实例,创建事务范围,确保数据操作的原子性,删除旧的动作信息,遍历动作信息列表,填充哈希表,保存动作。完成事务,返回操作成功信息,捕获异常,返回操作失败信息。
加载所有动作:创建数据库操作对象实例,加载数据得到数据表,将数据表转换成命令信息实体列表并返回。
初始化系统命令: 创建数据库操作对象实例,加载系统动作得到数据表,确保系统指令表非空且行数小于8,创建事务范围,修改初始系统命令,完成事务。返回操作成功信息。捕获异常,返回失败+初始化系统命令失败+异常信息。
5. 地图信息处理:包括保存地图信息(布局XML文件、布局设置、地标档案、储位档案、全局线段)、加载所有储位(ID,名称、……,锁定状态、存储状态,锁定车辆、物料类型、AGV到达时间、监控操作修改时间、备注)、加载所有线段(线段类型、长度、开始地标、结束地标、贝塞尔曲线点1X坐标、点1Y坐标、点2X坐标、点2Y坐标、点3X坐标、点3Y坐标、强制车头角度、强制行走方向、强制拐弯方向、线路规划级别、强制避障值、强制速度)、根据条件查询地标、根据地标号查询地标档案和获取当前保存的布局地图。
保存地图: 创建数据库操作对象实例,创建事务域以确保数据操作的原子性,删除数据库中老的地图设置,获取新地图ID并保存地图文件到数据库,删除旧的地标数据并分批保存新的地标数据(地标编码、地标名称、地标X坐标、地标Y坐标、是否等待地标、所属区域类型【无、发货区、卸货区】、二维数组X索引、二维数组Y索引、是否下料点、下料点编号、是否上料点、上料点编号、是否拐点、是否避让点、路线中地标对应的动作集、地标名称、地标转向、前进还是后退、根据路线计算的车头角度、是否路线中旋转地标、强制避障值、强制速度),最后一组不满足一批500个地标数据时特别处理(保存剩余的地标数据)。保存储位档案:创建哈希表,将储位ID列表转换成逗号分隔的字符串,删除旧的储位档案数据,分批保存储位档案(组装SQL语句,存在则更新,不存在则插入,每500条执行一次批处理,执行保存储位数据的数据库操作),最后一批不足500特地处理。 保存全局线段略。
加载所有储位:创建数据库操作对象实例、加载储位数据得到数据表,将数据表转换成储位信息实体列表并返回。
加载所有线段:略。
根据条件查询地标:创建数据库操作对象实例,创建哈希表,哈希表传入参数(条件),加载数据时传入规则码和哈希表进行查询得到数据表,将数据表转换为地标信息实体列表并返回。
根据地标号查询地标档案:逻辑同上,仅返回地标信息列表第一个数据。
获取当前保存的布局地图: 从数据库查询top1d的文件名、文件内容是否2D,Zoom(ID降序查询)。将文件内容写入新建的特定文件内。并返回哈希表(文件名、是否2D,Zoom值)。
6. 特殊交通管制处理:包括获取交通管制信息、保存交通管制信息、删除交通管制信息等。
交通管制信息类:支持管理和控制在特定区域(如路口)内AGV车辆的行进和停靠。ID交通管制点的唯一标识符,区分交通管制节点;对交通管制点的描述;在交通管制逻辑中涉及的地标列表,这些可能是AGV车辆需要经过的地标,用于细化交通控制点的具体位置;路口或交通管制区域的ID,这个ID更专指处于交通管制逻辑核心的区域或节点ID;进入点的参数或信息,指示AGV车辆从哪个方向或哪个点进入控制区域;进入交通管制区的地标代码,AGV车辆进入交通控制区域需要识别的地标标识;交通管控区域内的特定参数或信息;路口或交通管制区域内的地标代码列表这是AGV车辆在交通控制区内通过的地标的集合&