C:\Windows\system32>mongod --storageEngine=mmapv1 --logappend --directoryperdb --serviceName MongoDB --install
打印机静默打印: Chrome快捷方式增加:--kiosk-printing
--disable-print-preview
#添加索引
db.barcode.ensureIndex({"barcode":1},{"unique":true})
db.outItem.ensureIndex({"soseq":1}) db.outItem.createIndex({hSerial:-1,slotlocation:1})
###安装Mongodb服务
1、创建 D:\MongoDB 及 D:\MongoDB\data 和 D:\MongoDB\logs 目录
2、执行 mongod --storageEngine=mmapv1 --journal --logpath D:\MongoDB\logs\MongoDB.log --logappend --dbpath D:\MongoDB\data --directoryperdb --serviceName MongoDB --install
移除MongoDB:
sc delete MongoDB
mongod --auth -dbpath D:\MongoDB\data --repair
mac mongo 启动: sudo mongod -config /usr/local/etc/mongod.conf
Tomcat 8 启动时会出现 webresources.Cache.getResource Unable to add the resource at 的错误,需要在Tomcat的在 /conf/context.xml 的 前添加以下内容:
//备份 mongodump -h dbhost -d dbname -o dbdirectory
"C:\Program Files\MongoDB\Server\3.2\bin\mongodump" -d storage -o D:\storage
mongodump -h192.168.3.124 -d storage -o D:\MongoDB\
//还原 mongorestore -h <:port> -d dbname
##网络 双层线路由(192.168.103.1): WAN 1 IP: 10.85.160.20 网关: 10.85.160.254 DNS: 10.85.71.1 , 10.85.71.2
包装料2(box21和22) IP: 10.85.160.181
服务器IP: 10.85.160.25 内网IP: 192.168.101.11
##佳世达接口说明:
-
皮带线扫码后调用,用于获取尺寸后升起气缸
地址:
/rest/api/qisda/device/getSize
参数:
- robotIndex=机器人编号,IP为51的机器人为1, 52的机器人为2, 53的机器人为3,
- barcode=扫到的条码
返回:
{"code": 0, "msg":"ok", data:7}- code: 0为正常,其他为异常;
- msg: 消息
- data: 料盘直径,=7时升起气缸
皮带线获取尺寸后,料盘到达机器人取料位置进调用,如果未扫到码,或者没等到取料位置信号亮,可以不用调用
地址:
/rest/api/qisda/device/arriveRobotLocation
参数:
- robotIndex=机器人编号,IP为51的机器人为1, 52的机器人为2, 53的机器人为3
返回:
``
-
料盘流转位置信息更新
地址:
rest/api/qisda/device/updateLocInfo
参数:
- barcode=料盘的条码
- status=状态信息,移栽=MOVING,流水线=INLINE,皮带线=INBELT
- locInfo=位置信息,移栽时为移栽编号,流水线时为托盘号,皮带线时为皮带线编号,机器人时为机器人编号
返回:
{"code": 0, "msg":"ok", "data":""}- code: 0为正常,其他为异常,
- msg:消息, data:为空
-
放入料架(A,B,C,D)后调用,根据返回值决定当前料架是否放满,以及后续是否还有任务
地址:
/rest/api/qisda/device/putShelfFinished
参数:
- barcode=料盘的条码
- rfid=料架的RFID信息
- rfidLoc=料架的架位信息
- robotIndex=机器人编号(非机器人放置时不传此参数),IP为51的机器人为1, 52的机器人为2, 53的机器人为3
返回:
{"code": 0, "msg":"ok", "data":{"rfid":"xxx","smallEmpty":0,"bigEmpty":0, "packageEmpty":0,"cutPackageTask":0,"packageTask":10,"cutTask":10, "smallTask":5, "bigTask":5}}- code: 0为正常,其他为异常,
- msg:消息,
- data:为料架和任务信息
- rfid: 当前料架的RFID
- packageEmpty: 当前料架还可放置的包装料的数量(C料架和A料架有值,其他料架为0)
- smallEmpty: 当前料架还可放置的小料盘(7x8)的数量(D料架,其他料架为0)
- bigEmpty:当前料架还可放置的大料盘的数量(C料架,其他料架为0)
- cutPackageTask:还有多少盘分盘的包装料任务(放到A料架上,转运到分盘区)
- packageTask:还有多少盘包装料任务(放到A料架上,并转运到包装线,最终到C料架)
- cutTask: 还有多少盘分盘料任务(放置到料串B上,转运到分盘区)
- smallTask: 还有多少盘小料任务(放置到双层线的D料架上)
- bigTask: 还有多少盘大料任务(放置到C料架上)
-
机器人获取架位信息时调用
地址:
/rest/api/qisda/device/getLocation
参数:
- robotIndex=机器人编号,IP为51的机器人为1, 52的机器人为2, 53的机器人为3
- rfid=当前双层线上料架的RFID信息
返回:
{"code": 0, "msg":"ok", "data":{"rfid":"xxx","rfidLoc":3,"w":7,"h":12,"barcode":"xxxxxxx"}}- code: 0为正常,其他为异常,
- msg:消息,
- data:为料盘对应的位置信息
- barcode: 料盘条码信息
- w: 料盘直径信息,取料时机器人根据此信息
- h: 料盘厚度信息
- rfid: 料架RFID
- rfidLoc: 料架架位
-
出库时根据StatusBean返回data中的参数决定料盘流转到哪里
- urgentReel: true 表示紧急料,需要出到料串上
- cutReel: true 表示分盘料,需要出到料串上
- smallReel: true 小料(7x8),放置到小料架上
- rfid: 分配的料架RFID
- fidLoc: 料架的架位 > - 值为-1时,可以自由分配皮带线 > - 小料时,架位为1-46优先走1/2号皮带线,47-92优先走3/4号皮带线, 70,71,72时只能分配到3/4号皮带线; > - 大料时,架位1-6,12优先走1/2号皮带线, 7-11优先走3/4号皮带线
-
料串或包装料架全部入库完成时调用,清除RFID信息
地址
/service/store/qisda/clearPutInRfid
参数
- rfid: 料串或包装料架的RFID
返回:
"OK"
-
包装料机器人获取取出和放置位置
地址
/rest/api/qisda/device/getPackageLocation
参数
- bigRfid: 大料架的RFID
- packageRfid: 包装料架的RFID
返回:
{"code": 0, "msg":"ok", "data":{"barcode":"xxx","emptyInBig":3,"reelInPackage":7,"packageTask":"3","packageRfid":"xxx"","packageLoc":"1","bigRfid":"xxx","bigLoc":"1"}}- code: 0为正常,其他为异常
- msg:消息,
- data:为对应的位置信息
- barcode: 料盘条码信息
- emptyInBig: 大料架上可放包装料数量(空位置),如果为0,放行大料架
- reelInPackage: 包装料架上剩余的包装料数量(包含当前获取的物料),如果为0,说明这个包装料架上的料已取完
- packageTask: 剩余的包装料任务, 如果为0,说明已经没有包装料任务,可以放行大料架
- packageRfid: 包装料架RFID
- packageLoc: 取料位置(包装料架)
- bigRfid: 大料架RFID
- bigLoc: 放料位置(大料架)
说明: 大料架到达双层线包装料架位置时调用此接口, 将包装料从packageRfid的packageLoc位置取出,放入bigRfid的bigLoc位置
-
包料料机器人放置包装料完成
地址:
/rest/api/qisda/device/putPackageFinished
参数:
- barcode=料盘的条码
- packageRfid: 包装料架RFID
- packageLoc: 取料位置(包装料架)
- bigRfid: 大料架RFID
bigLoc: 放料位置(大料架) 返回:
{"code": 0, "msg":"ok", "data":""}code: 0为正常,其他为异常,
msg:消息, data:为空
-
获取包装料仓的空闲仓位数
地址:
/rest/api/qisda/device/emptyStoragePosCount
参数:
- 无
返回:
{"code": 0, "msg":"ok", "data":{"packing-19":"19","packing-20":"20","packing-21":"21","packing-22":"22","packing-23":"23","packing-24":"24"}}- code: 0为正常,其他为异常,
- msg:消息,
- data:为包装料仓的空闲仓位数(key为与客户端一致的料仓标识,value为空闲仓位)
- packing-19=19: 表示包装仓19的空闲仓位数是19
- packing-20=20: 表示包装仓19的空闲仓位数是20
- packing-21=21: 表示包装仓19的空闲仓位数是21
- packing-22:22: 表示包装仓19的空闲仓位数是22
- packing-23:23: 表示包装仓19的空闲仓位数是23
- packing-24:24: 表示包装仓19的空闲仓位数是24
分盘料/紧急料放上料串或料架时调用
地址:
/rest/api/qisda/device/afterPutCut
参数:
cid: 料仓cid,流水线可传入空 barcode : 条码 rfid : RFID rfidLoc: 料架位置,流水线可传-1
返回:
{"code": 0, "msg":"ok", "data":{"cutPackageTask":"0","urgentPackageTask":"20","cutTask":"21","urgentTask":"22"}}
- code: 0为正常,其他为异常,
- msg:消息,
- data:
- cutPackageTask: 表示当前包装仓的分盘任务数
- urgentPackageTask: 表示当前包装仓的紧急料任务数
- cutTask: 表示流水线分盘任务数
- urgentTask: 表示流水线紧急料任务数
- 分盘料/紧急料启动时获取料架的虚拟RFID调用
地址:
/rest/api/qisda/device/findTempRfid
参数:
rfid : RFID
返回:
{"code": 0, "msg":"ok", "data":{"tempRfid":""}}
- code: 0为正常,其他为异常,
- msg:消息,
- data:
- tempRfid: 表示当前料架(料串)对应的虚拟RFID
- 分盘料/紧急料放上料串或料架时调用
地址:
/rest/api/qisda/device/afterPutCut
参数:
cid: 料仓cid,流水线可传入空 barcode : 条码 rfid : RFID rfidLoc: 料架位置,流水线可传-1
返回:
{"code": 0, "msg":"ok", "data":{"cutPackageTask":"0","urgentPackageTask":"20","cutTask":"21","urgentTask":"22"}}
- code: 0为正常,其他为异常,
- msg:消息,
- data:
- cutPackageTask: 表示当前包装仓的分盘任务数
- urgentPackageTask: 表示当前包装仓的紧急料任务数
- cutTask: 表示流水线分盘任务数
- urgentTask: 表示流水线紧急料任务数
- 包装料架进入料仓时料架RFID上已经锁定库位的料(有数据时,)或料架从包装料仓流出时AGV获取料架上已锁定的料盘(为空时当作空料架处理)
地址:
/rest/api/qisda/device/getShelfLockInfo
参数:
rfid : RFID
返回:
{"code":0,"msg":"ok","data":[{"barcode":"S20052301213","cid":"packing-20","rfid":"A12","rfidLoc":"3","lockPos":"4D2001AA0006","lockPosId":"1231"}]}
- code: 0为正常,其他为异常,
- msg:消息,
- data:
- rfid: 料架RFID
- rfidLoc: 料架的库位
- barcode: 库位中料盘的条码
- cid: 库位中料盘的锁定库位对应的料仓编号
- lockPos: 库位中料盘的锁定库位
- 包装线AGV获取料架中的任务数,如果当前料架的任务数不为0,需要用当前料架去其他包装仓继续放料
地址:
/rest/api/qisda/device/shelfTaskCount
参数:
rfid : RFID
返回:
{"code":0,"msg":"ok","data":{"taskCount":0,"rfid":"A2"}}
- code: 0为正常,其他为异常,
- msg:消息,
- data:
- rfid: 料架RFID
- taskCount: 当前料架剩余任务数(即还有几盘料没放上去)
- 盘点时客户端通知服务器某库位是否有料
地址:
/rest/api/qisda/device/posReelCheck
参数:
cid : 客户端CID pos : 库位 hasReel : 库位是否有料,true表示有料,其他值为无料
返回:
{"code":0,"msg":"ok","data":""}
- code: 0为正常,其他为异常, >> - msg:消息, >> - data:
- 异常看板
地址:
/rest/api/qisda/device/updateDeviceAlarmMsg
参数:
deviceAlarmList : 异常列表Json字符串
[{"name":"移栽5", "msgKey":"line.move5.timeOut", "msgValue":"运动超时"},{"name":"移栽4", "msgKey":"line.move4.timeOut", "msgValue":"误差过大"}]name : 异常位置名称 msgKey : 异常信息唯一标识 msgValue : 异常信息
返回:
{"code":0,"msg":"ok","data":""}
- code: 0为正常,其他为异常, >> - msg:消息, >> - data: