欢迎来到天天文库
浏览记录
ID:5725279
大小:387.00 KB
页数:5页
时间:2017-12-23
《罗克韦尔自动化ptl系列产品接口说明》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、RockwellAutomationPick-to-lightTMSystem接口说明一、系统架构:(RockwellAutomationPick-to-lightTMSystem)二、接口方式:(DPS_ENTEDI接口模式)罗克韦尔自动化的电子标签拣货系统控制软件DPS_ENTEDI提供了2种数据接口模式,供第三方ERP、MES或者WMS等系统的接入。1、数据库方式:(1.1)标签控制数据交割表通过在ERP、MES或者WMS所选用的关系型数据库建立一张数据交割表(Pick_Data),表中字段信息需包含物料分拣所需的基本数据,包括:订单编号、待拾取物料库位编号
2、、待拾取物料数量、实际拾取数量、实际拾取时间、系统标志位(0表示待拾取;1表示PTL系统已获取;2表示拾取完毕)。字段名称OrderCodeSKUCodeToPickCountPickedCountPickedTimeSysFlag数据类型nvarchar(50)nvarchar(50)intintdatetimeint说明订单编号物料库位编码待拾取物料数量实际拾取物料数量物料拾取时间系统标志示例23712931283012101223120202012-8-1613:25:22上述6个字段为基本信息数据,根据实际项目,可做扩充,DPS_ENTEDI提供了C#脚本
3、二次功能,用户可通过脚本解析扩展字段信息,实现与PTLTM的集成。应用:实际应用中,三方软件往该数据表中插入待拾取信息,并查询SysFlag标志信息判断是否已经拾取完成,对已经拾取完成的,获取实际拾取数量以及拾取时间。(1.2)条码扫描数据交割表通过在ERP、MES或者WMS所选用的关系型数据库建立一张数据交割表(Ordercode_Data),表中字段信息需包含条码数据交割所需的基本数据,包括:区域编号、该区域条码、系统标志位(0表示由PTL系统更新,待WMS系统获取;1表示WMS系统系统已获取;)、条码写入数据库时间。字段名称AreaIDBarCodeSysF
4、lagUpTime数据类型nvarchar(50)nvarchar(50)intdatetime说明区域编号该区域当前扫描到的条码编号系统标志该条码刷入数据库时间示例A820381012012-8-1613:25:22PTL系统会主动将该区域扫描到的条码信息更新至数据库,WMS系统设置定时器(200ms)检测SysFlag,如果发现有0标志位的条码,则取走BarCode字段,并将SysFlag更新为2。WMS系统获得BarCode后,组织出该区域需要拾取的标签控制信息,并将标签控制信息根据Pick_Data数据表格式写入标签控制数据交割表。区域控制线程循环定时读取
5、条码表标志位组织出该区域标签控制信息并写入标签控制表循环定时读取标签控制表标志位2、API方式(一)、基本函数(1)、装载工程BoolLoadProj(stringprojpath)参数:projpath,工程文件名(2)、开始工作,函数内部执行各个网关的连接,连接结果通过消息返回BoolStart()(3)、结束工作、结束网关连接并释放工程BoolEnd()二、设备控制函数采用面向对象方法,建立标签类、转接器类等(1)、电子拣货标签对象:PTL900U属性:下发显示:函数调用下发结果:事件返回按钮被按下:事件返回通信失败:事件返回(2)、按钮指示灯类:PTL80
6、0U(3)、转接器对象:XIOPort属性:灯塔控制:函数调用灯塔控制结果:事件返回串口数据获取:事件返回通信失败:事件返回三、应用:(1)先将PTL900U类与XIOPort类封装到Area类中去Area类包含该区域内的所有设备Area{PTL900U**PTL900UArray;XIOPort**XIOPortArray;VoidAddDisp();VoidDisp();}(2)、主程序Main(){Load();Start();//等待启动结果事件,分别处理启动成功与启动失败事件;IntnAreaCount=5;For(intti=0;ti7、nt;nAreaCount++){//开辟nAreaCount条线程,每条线程单独处理}}(3)、每个区域一个独立处理线程//区域主线程函数AreaThreadWork(){While(1){If(nAreaCount[ti].strTrigCode!=“”){//获取条码相应订单For(inttj=0;tj8、/等待回传
7、nt;nAreaCount++){//开辟nAreaCount条线程,每条线程单独处理}}(3)、每个区域一个独立处理线程//区域主线程函数AreaThreadWork(){While(1){If(nAreaCount[ti].strTrigCode!=“”){//获取条码相应订单For(inttj=0;tj8、/等待回传
8、/等待回传
此文档下载收益归作者所有