电子标签控制说明

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电子拣货标签系统开发说明V1.5

一、c#开发语言dll对象调用:

此种开发模式下,开发者主要通过创建控制器对象Xgate类,通过该类提供的函数进行控制。

ⅰ、基础函数:

1)创建Xgate控件对象:

(1)、XGate(string ipAddress, int busCount,int timeout = 350);

功能说明:允许address号地址的XIOPort下的扫描进行扫描事件获取(启动时为禁止状态);

参数说明:ipAddress为控制器的IP地址,端口号固定都为502;busCount,为控制器下总线数量;timeout为收发超时时间,默认参数为350,单位ms;

2)添加设备:有多种设备添加具体有:

(1)、public bool Add600U(int address, int busIndex, int deviceType = 0);

添加区域显示屏600U设备对象

(2)、public bool Add800U(int address, int busIndex, int deviceType = 0);

添加按钮指示灯800U设备对象

(3)、public bool Add900U(int address, int busIndex,int deviceType=0);

添加电子拣货标签900U设备对象

(4)、public bool AddXIOPort(int address, int busIndex, int deviceType=0);

添加XIOPort设备对象。注意:XIOPort设备为扫描枪灯塔一体控制器,能够控制4个灯塔,1个扫描枪;读取、清除扫描枪使用该控制器地址(包括IP地址、XIOPort地址);700U指示灯塔使用该控制器地址(包括IP地址、XIOPort地址),因此控制700U灯塔与扫描枪函数的时候,地址需要使用此设备地址);(5)、public bool AddXMXP1O5(int address, int busIndex, int deviceType=0);

添加XMXP1O5设备对象。注意:XMXP1O5设备为集区域显示、扫描枪、灯塔等功能为一体的控制器,能够控制6路24V输出电压,1路扫描枪,一个3为7段码指示屏或者一个8位点阵屏,一个交互按钮;600U指示命令使用该控制器地址(包括IP地址、XMXP1O5地址);700U指示灯塔使用该控制器地址(包括IP地址、XMXP1O5地址);扫描枪使用该控制器地址(包括IP地址、XMXP1O5地址);因此控制600U 指示与按钮采集、700U灯塔、扫描枪函数的时候,地址需要使用此设备地址);

设备添加参数说明:上述函数中参数address为该设备所在控制器下的总线上的地址,范围为1~255;busIndex为该设备所在第几条总线(0~3);为保证系统达到预定效率,务必正确使用busIndex,deviceType为设备属性,一般用于对于设备型号。

3)设备删除控制:public void RemoveDevice(int address);

功能说明:删除控制器下地址为address的设备

4)系统启动函数:public bool Start();

功能说明:启动软件系统工作,控制器对象会根据控制器类型启动相应数量的设备数据收发线程。

5)系统退出函数:public bool Close();

功能说明:程序退出时,得先调用此函数,以结束所有控制内容。

6)编写事件返回函数:返回事件有电子拣货标签(800U与900U设备)OK按钮按下事件、

接入X-IOPort的扫描枪条码事件、600U按钮按下事件、设备故障事件,具体如下:(1)、PickedInforCallback(XGate xgate, Device PTLDevice, string[] contents, int[] pickedQuantities,bool FnPressed);

功能说明:OK按钮按下事件,此事件表明下发有待拾取显示的800U或者900U电子拣货标签收到OK按钮按下事件,函数需要调用拣货后的业务处理功能。在1对多拣货的情况下,最后2个拣货事件一起返回,其余则每拣货完成一个则返回一个;

参数说明:Xgate为对应的控制器对象,PTLDevice为对应的操作设备对象,contents为对应的库位列表,pickedQuantities为对应的拣货数量列表,FnPressed为在按下“OK”键之前是否有按Fn 自定义功能键(只有当设备的F3参数设置成1时,才可对FnPressed有效支持,否则只做零拣处理);

(2)、ScannedCodeCallback(XGate xgate, Device PTLDevice, string barcode);

功能说明:扫描枪扫描到编码事件。

参数说明:Xgate为对应的控制器对象,PTLDevice为对应的操作设备对象,barcode为对应的扫描枪扫到的条码;

注意:只有调用过EnableSanner函数后,接入该X-IOPort的扫描枪扫到的条码才会通过该事件自动发回。

(3)、PTL600UPressedCallback (XGate xgate, Device PTLDevice);

功能说明:600U设备按钮按下事件。

参数说明:Xgate为对应的控制器对象,PTLDevice为对应的操作设备对象,barcode为对应的扫描枪扫到的条码;

注意:只有调用过Enable600UClectButton函数后,接入系统的才会通过该事件自动发回。

(4)、DeviceErrorCallback (XGate xgate, Device PTLDevice, Exception error)

功能说明:设备通信故障事件。

参数说明:Xgate为对应的控制器对象,PTLDevice为故障设备对象,如果PTLDevice为null,则表明上位机与控制器之间以太网通信故障,否则为接入控制器下总线的设备通信故障(600U、800U、900U、X-IOPort等), error为故障信息。

返回函数事件调用注意点:事件处理函数应遵循处理时间尽快少的原则,不可在事件函数体内有阻塞情况,否则将引起设备通信进程阻塞。

ⅱ、设备控制函数:

7)扫描枪控制:扫描枪通过XIOPort设备连入系统,因此操作扫描枪的函数所用地址为

XIOPort地址,具体为:

(1)、public bool EnableScanner(int address);

参数说明:address为扫描枪接入所在的XIOPort设备的控制器下地址;

功能说明:允许address号地址的XIOPort下的扫描进行扫描事件获取(启动时为禁止状态);

返回说明:无;

(2)、public bool DesableScanner(int address);

参数说明:address为扫描枪接入所在的XIOPort设备的控制器下地址;

相关文档
最新文档