步骤1:
把PDA安装包的apk格式重命名为rar格式,解压rar文件后,可以在RobotStation-1.0.678641-release\assets\cms目录下,会有一些最原始的JSON文件。

(图1)解压APK获取JSON文件
步骤2:
用谷歌浏览器打开index.html,进入PDA可视化配置网站首页。

(图2)打开index.html

(图3)PDA可视化配置网站首页
步骤3:
导入配置PDA主界面home.json文件,支持一次导入多个JSON文件,本案例导入一个主界面home和任意一个功能模块界面JSON文件,用于二次开发配置。

(图4)批量导入JSON文件
步骤4:
编辑首页界面,在属性里面先把原始的默认界面删除,添加一个页面名称为“叉车搬运任务“界面、页面ID为”chache”的功能模块入口,然后保存生成home.json文件。

(图5)编辑首页界面
1.页面ID:以英文开头,支持自定义英文+数字命名(唯一的ID,不能重复使用)。用来从主界面home页,跳转到功能操作界面的ID;
2.页面名称:主界面显示的中文,支持自定义命名;
3.界面图标:主界面显示的图标,只支持下拉选择;
步骤5:
编辑点到区域界面,进行二次开发配置成叉车搬运任务界面。在页面设置把页面ID配置为“chache”、页面名称配置为“叉车搬运任务”(与步骤4页面ID、页面名称的一致),配置好这一项就可以从主界面跳转到功能操作界面。

(图6)配置跳转到功能操作界面
步骤6:
修改功能操作界面的顶部标题名称,点击顶部标题——在属性的顶部栏标题修改文本为“叉车搬运任务”,该处仅用于标题名称显示,无其他用处。

(图7)修改顶部标题名称
基线接口文档的生成任务单genAgvSchedulingTask接口,要下发一个带容器编号的点到区域的叉车搬运任务,用postman模拟测试验证后,至少需要给rcms传入以下报文参数:

(图8)模拟测试报文参数
操作界面设计要求如下:
1. 请求编号需要每次随机生成;
2. 任务模板编号分平层和跨楼层,需要做成下拉框选择项;
3. 容器类型只有一种,可以直接写;
4. 容器编号每个栈板都不通,需要支持扫描和手动输入;
5. 起点坐标每次下发任务都不同,需要支持扫描和手动输入;
6. 终点区域编号需要根据现场实际业务场景来,是否会一个起点搬运到多个区域(则需要做成下拉选择项),本案例按照一对一场景写死终点区域编号。
根据设计要求,可以确认操作界面只有三个操作项(起点、容器编号、任务类型),其他参数都是写死传参或者随机生成。

(图9)操作界面效果图
添加起点扫描输入栏,选择标签输入框——拖拽居中位置——属性界面打开相机扫描——标签名称配置为“起点”——输入框提示信息配置为“请输入起点”——输入类型配置为“文本”——输入框ID配置为“#start”。
PS:输入框ID必须#开头,后面带上英文字母(一般都是#加字段名),作用是:将输入的值,引用为该字段的参数值。

(图10)添加起点扫描输入栏
步骤8:
添加容器编号扫描输入栏,选择标签输入框——拖拽居中位置——属性界面打开相机扫描——标签名称配置为“容器编号”——输入框提示信息配置为“请输入容器编号”——输入类型配置为“文本”——输入框ID配置为“#ctnrCode”。

(图11)添加容器编号扫描输入栏
步骤9:
添加任务类型下拉选择项,选择标签输入框——拖拽居中位置——属性界面标签名称配置为“任务类型”——下拉框选项配置添加两个——第一个选项命名为“平层任务“赋值”F11”— 第二个选项命名为“跨楼层任务“赋值”F111”—下框ID配置为“#taskTyp”。
PS:
1. 下拉框选项配置都是两个或者两个以上的,两个配置栏为一个配置项(上面是名称、下面具体赋值,该案例赋值为任务模板编号);
2. 下拉框ID必须#开头,后面带上英文字母(一般都是#加字段名),作用是:将下拉选择项的值,引用为该字段的参数值。

(图12)添加任务类型下拉选择项
步骤10:
添加执行发送按钮,选择标签输入框——拖拽居中位置——属性界面文本内容命名为“执行”,该按钮用于设置报文发送请求路径和字段参数。

(图13)添加执行发送按钮
步骤11:
设置报文发送路径,点击执行按钮栏——事件界面添加一个发送请求——接口设置选择“发任务genAgvSchedulingTask“(默认有三个常见接口名,其他接口名直接填写即可)——服务设置选择rcms——服务设置选择hikRpcService-(r)cms,然后组合一个接口调用路径,加上PDA登录设置IP和端口,就形成一个完整的接口调用URL。

(图14)设置报文发送路径
步骤12:
设置报文字段参数,点击执行按钮栏——从事件界面的字段设置进入“字段设置界面”。

(图15)进入“字段设置“界面处
步骤13:
根据模拟测试的报文参数,参数名填入名称列,除positionCodePath 配置为数组,其他参数名都是配置字符串。

(图16)设置参数名与赋值
步骤14:
positionCodePath 配置为数组是因为包含两个对象(即包含站点集合的起点和终点),一个对象包含两个字符串(即包含两个字段positionCode和type)。

(图17)positionCodePath 数组示例
在FTP的下载基线APK格式的安装包,正常安装安卓版的PDA上即可。

(图18)安装包获取目录
把前面二次开发好的JSON文件,替换到服务器rcms服务的tomcat85linux64下面的update/pda目录下(rcms的tomcat85linux64的目录根据现场实际部署定),现场有主备机环境都要替换掉 。 本案例单机环境的目录路径为:/opt/opsmgr/web/components/tomcat85linux64.1/webapps/update/pda 。

(图19)JSON文件更新目录
用户名、密码同登录RCS2000系统一致,IP为rcms服务的IP(如果是主备环境,则填nginx服务的虚拟IP),端口为443。

(图20)PDA程序登录界面
1.登录端口不对,正确应该是443端口,大多数人会将端口填写为8181或者8182。
1.现场是主备机环境,只更新一台服务器pda目录下的JOSN文件;
2.主界面的home.json文件命名不对,将home.json文件替换到pda目录下会显示有两个home.json,一般就是home.json命名时有空格导致无法看出来。

(图21)替换出现两个home文件
1.主界面与操作的界面设置的页面ID不一致;
2.操作界面的JOSN文件命名与主界面设置页面ID不一致,或者前后有空格导致程序无法加装更新JSON文件。
1.下拉框选择项场景,直接修改下拉框选择项的赋值即可;

(图22)修改下拉框选择项的赋值
2.任务模板编号写死场景,进入字段设置界面,直接修改taskTyp的值即可。

(图23)修改taskTyp的值