商品自动分拣系统

仓库管理 admin 2016-12-16 10:09 2113 0

商品自动分拣系统,简称分拣机,适合物流企业、工厂等应用。


接口

由于WMS系统和分拣系统不在一个地点,所以需要先为WMS开发好相应的接口。

为了达到分拣系统和WMS系统数据传输和交互的目的,开发3个对应接口:格口区分接口、

箱状态变更接口、订单称重接口。


数据传输:WMS ——>皮带机

操作:WMS将格口与箱号推送给皮带机,皮带机接收后立刻返回成功或失败信息。成功不

再推送,失败信息将继续推送。

接口名称: wms.passboxid


请求和响应POST示例:

POST:

<?xml version="1.0" encoding="utf-8"?>

<request> 

  <passboxid>PB123456789 </passboxid >  

  <status> Busy</status>  

  <door>5</door>  

</request>

响应:

<?xml version="1.0" encoding="utf-8"?>

<response> 

  <flag>success </flag>  

  <message>PB123456789接收格口号成功 </message>  

 </response>


数据传输:皮带机——>WMS

皮带机扫条码,并将该条码传送至WMS。WMS接收后立刻返回成功或失败信息。成功不

再推送,失败信息将继续推送。

接口名称: wms.pbstatus


POST:

<?xml version="1.0" encoding="utf-8"?>

<request> 

  <passboxid>PB123456789</passboxid >  

  <status> Idle </status >  

</request>

响应:

<?xml version="1.0" encoding="utf-8"?>

<response> 

  <flag>success </flag>  

  <message>成功更改箱状态 </message>  

 </response>


生产场景:皮带机称重后将订单号和重量传递给WMS。

数据传输:皮带机——>WMS

接口名称: wms.poweight

POST:

<?xml version="1.0" encoding="utf-8"?>

<request> 

  <waybillno>1234567890123</waybillno >  

  <weight> 0.59</weight >  

</request>

响应:

<?xml version="1.0" encoding="utf-8"?>

<response> 

  <flag>success</flag>  

  <message>更新运单重量为0.59 </message>  

 </response>


分拣系统服务器与WMS的通信协议

协议描述:接口遵循REST规范,使用HTTP POST方式进行通讯。

标准协议的HTTP入口地址为:

皮带机发给WMS:

http://[wms_webservice_url]?method=[wms_API]&format=xml&v=1.0

WMS发给皮带机:

http://[pdj_webservice_url]?method=[wms_API]&format=xml&v=1.0

注:

1.[]中需要根据具体业务进行填写。wms_API,具体见上方给出的接口名称。

请求和响应的消息主体使用XML格式。


程序

测试工具

blob.png

WINSOCK通信测试程序单文件版,使用十分方便,体积小巧。

blob.png

串口监控器,也是十分好用的串口通信测试工具。

另外安装一个虚拟串口程序。


config.ini配置文件介绍

[URL]

URL=http://pdj.barcodesoft.cn/pdj.asp;

//测试地址,实际使用时,填写WMS系统服务器接口地址


[SMQ]

SMQ1_IP=192.168.100.102;

SMQ1_PORT=5101;

SMQ2_IP=192.168.100.102;

SMQ2_PORT=5103;

//2台网口固定式工业智能相机的IP地址和端口号设置

[PLC]

iPort1=1;

SETTINGS=9600,n,8,1;

SMQ1_NG=00;

SMQ2_NG=01;

//PLC设置

[DOOR]

DOOR1=01;

DOOR2=02;

DOOR3=03;

DOOR4=04;

DOOR5=05;

DOOR6=11;

DOOR7=12;

DOOR8=13;

DOOR9=14;

DOOR10=15;

//格口号对应数值

[TIMER]

WMS_TIMER=1000;

PLC_TIMER=2000;

//心跳计时器

[heartbeat]

PLC_s_heartbeat=88;

PLC_r_heartbeat=88;

WMS_heartbeat=99;

//心跳约定字符


程序界面

blob.png

程序本身只是进行数据通信,不用人工交互,所以只是做成服务端,隐藏运行。

只是显示必要的报警信息和数据信息。

评论区