本发明涉及一种工业计算机与售货机双向通信方法及系统。
背景技术:
近年来,由于移动支付的蓬勃发展,以及人工成本的显著增加,自动售货机越来越受到商家和用户的青睐。自动售货机的种类越来越多,如蛇形弹簧、弹夹、履带,升降式等等,多以出货方式进行区分。
混合式售货机是指一个售货机上可以同时支持弹簧、弹夹、履带、升降等多种出货方式,并且多个出货方式可以自由组合,每层自动售货机托盘可以根据实际要摆放销售的商品规格、包装等不同,设置为不同的出货方式,
异构式售货机是指一个工业计算机可以控制连接多个售货机,被连接的多个售货机可以为弹簧柜、弹夹柜、履带柜、升降柜、格子柜,也可以为混合式售货机,售货机货柜类型可以自由组合,每个售货机的机柜外形可不同,出货机构可不同,售货机控制电路可不同,掉货检测传感设备可不同,照明控制电路可不同,通过一个统一的工业计算机进行统一连接控制。
公开号为“cn103544127a”的发明专利,公开了一种用于自动售货柜与工业计算机通信的方法,该方法该方法包括工业计算机向自动售货柜发送查询当前状态的数据包;若自动售货柜接收成功,则返回当前状态数据包;当工业计算机收到当前状态数据包应答后,即认为自动售货柜的硬件配置完成,等待用户操作;当工作计算机收到用户操作指令后,发送控制指令数据包;若自动售货柜接收成功,则返回对应的控制指令应答数据包;当工业计算机收到自动售货柜的控制指令应答数据包后,即认为该操作成功。该专利能够实现自动售货柜与工业计算机之间的智能化的通信,并能够使自动售货柜向工业计算机上报各种用户操作和回馈操作的操作信息、以及本机运行状态的状态信息。
但是该专利只涉及单个售货机与工业计算机之间的通讯,针对多个售货机与工业计算机的通讯问题并没有提及,因此,有必要设计一种新的通信方法和系统。
技术实现要素:
本发明所要解决的技术问题是提供一种工业计算机与售货机双向通信方法及系统,该工业计算机与售货机双向通信方法及系统易于实施,控制简便。
发明的技术解决方案如下:
一种工业计算机与售货机双向通信方法,工业计算机和售货机之间互为主机或从机;
工业计算机对售货机的设备工作状态进行监控;
针对售货机中的设备的控制通信交互流程如下:
工业计算机建立监听数据线程,自动监听售货机;
当售货机检测到某个设备工作状态发生改变时,向工业计算机发送该设备最新工作状态汇报数据包;
当工业计算机接收到售货机的设备工作状态汇报数据包后,解析该汇报数据包,记录当前的设备最新工作状态。
售货机和工业计算机之间数据通信的连接检测流程如下:
工业计算机根据数据通信连接检测流程方向设置通信连接检测的发起方;
(1)如果发起方为工业计算机,工业计算机根据设置的固定时间检测,向售货机轮训发送数据通信连接检测指令数据包;
当售货机接收到上述指令数据包后,向工业计算机返回应答数据包;
当工业计算机接收到售货机的应答数据包后,认为当前和售货机之间的数据通信连接正常。
当工业计算机在几次都没有接收到售货机的应答数据包后,认为当前和售货机之间的数据通信连接失败。
(2)如果发起方为售货机,售货机根据固定时间间隔,向工业计算机轮询发送数据通信连接检测指令数据包;
当工业计算机接收到上述指令数据包后,向售货机返回应答数据包,认为当前和售货机之间的数据通信连接正常;
当工业计算机在一定时间间隔内,都没有接收到售货机的汇报数据包后,认为当前和售货机之间的数据通信连接失败。
售货机和工业计算机之间的数据通信超时处理流程
当数据发送方通过数据包向数据接收方发出控制指令数据包后,若在固定时间内没有接收到数据接收方的控制指令应答数据包,则认为操作失败,数据发送方可以再次重新发送指令数据包,也可以直接结束。
采用适用于售货机与工业计算机通信的统一通信接口协议实现工业计算机与售货机之间的通讯:
工业计算机发送方通讯协议结构表
售货机通讯响应结构表
统一通信接口协议的数据格式由上述表格定义。
针对混合式售货机的出货控制通信交互流程;
针对混合式售货机,当工业计算机接收到需要出货的指令后,从数据库中读取要出货的货道所在托盘的类型(弹簧、履带、弹夹等),如果是弹夹式托盘,则还需要读取出货中间停顿时间、弹夹出货超时时间的参数数据;
工业计算机根据要出货的货道所在托盘的类型,根据每种托盘类型所需要的参数数据,自动封装相应的出货指令数据包,通过数据包向所述售货机发送出货指令数据包;
当售货机接收到上述控制指令数据包,则向工业计算机返回对应的控制指令应答数据包,同时按照工业计算机发送的出货指令数据包中的货道等相关参数,进行对应的出货动作控制;
当工业计算机接收到售货机的控制指令应答数据包后,解析该应答数据包,如果认为不能出货,则直接结束出货控制流程;如果认为售货机正在出货,则向售货机发送出货结果查询指令数据包;
当售货机接收到上述控制指令数据包后,则查询当前出货的结果进度,并向工业计算机返回对应的出货结果应答数据包;
当工业计算机接收到售货机的出货结果应答数据包后,解析该应答数据包,如果认为出货已经成功或者失败,即认为出货流程结束;如果认为出货仍然在进行中,则向售货机继续发送出货结果查询指令数据包。
针对升降式售货机的出货控制通信交互流程
针对升降式售货机,当工业计算机接收到需要出货的指令后,从数据库中读取要出货的货道所在托盘的纵向位置坐标、横向位置坐标、升降到位后的升降停顿时间、出货延时时间对应的参数数据;
工业计算机根据升降货道的纵向位置坐标、横向位置坐标、升降到位后的升降停顿时间、出货延时时间对应的参数数据,自动封装相应的出货指令数据包,通过数据包向所述售货机发送出货指令数据包;
当售货机接收到上述控制指令数据包,则向工业计算机返回对应的控制指令应答数据包,同时按照工业计算机发送的出货指令数据包中的货道对应的相关参数,进行对应的出货动作控制;
当工业计算机接收到售货机的控制指令应答数据包后,解析该应答数据包,如果认为不能出货,则直接结束出货控制流程;如果认为售货机正在出货,则向售货机发送出货结果查询指令数据包;
当售货机接收到上述控制指令数据包后,则查询当前出货的结果进度,并向工业计算机返回对应的出货结果应答数据包;
当工业计算机接收到售货机的出货结果应答数据包后,解析该应答数据包,如果认为出货已经成功或者失败,即认为出货流程结束;如果认为出货仍然在进行中,则向售货机继续发送出货结果查询指令数据包。
一种工业计算机与售货机双向通信系统,包括工业计算机和售货机;工业计算机与售货机采用前述的方法通讯。
所述的售货机为多个。
工业计算机通过有线、wifi、3g、4g或5g中的任一种方式接入互联网与服务器相连,便于用户远程控制售货机。
服务器为云服务器。
混合式售货机是指一个售货机上可以同时支持弹簧、弹夹、履带、升降等多种出货方式,并且多个出货方式可以自由组合,每层自动售货机托盘可以根据实际要摆放销售的商品规格、包装等不同,设置为不同的出货方式,
异构式售货机是指一个工业计算机可以控制连接多个售货机,被连接的多个售货机可以为弹簧柜、弹夹柜、履带柜、升降柜、格子柜,也可以为混合式售货机,售货机货柜类型可以自由组合,每个售货机的机柜外形可不同,出货机构可不同,售货机控制电路可不同,掉货检测传感设备可不同,照明控制电路可不同,通过一个统一的工业计算机进行统一连接控制。
有益效果:
本发明的工业计算机与售货机双向通信方法及系统,特别针对多个售货机共同连接工业计算机的情况,给出了具体的统一的数据协议,给出了详细了控制策略,从而能够实现对各售货机的全方位的智能控制,易于实施,易于控制。
本发明的提供的是一种可以适用于异构自动售货机与工业计算机通信的方法,使得一个统一的工业计算机软件可以通过统一的通信控制接口协议,控制不同的自动售货机,兼容性好,且易于扩展。
具体实施方式
以下将结合具体实施例对本发明做进一步详细说明:
实施例1:
本发明的工业计算机与售货机通信方法及系统,其具体的方法包括:
1、异构自动售货机与工业计算机之间的通信方法
针对异构的自动售货机,工业计算机和异构自动售货机之间支持主从和双向两种通信交互方式。
(1)主从通信交互方式
针对只支持主从通信交互方式的异构自动售货机,工业计算机为通信发起方,也称为主机,异构自动售货机为通信被动响应方,也称为从机,两者之间通过rs232串口、485、canbus、蓝牙、有线或无线等方式作为通信途径,主机每次主动发送指令,从机在接收到指令后,进行相应处理后,回复给主机处理结果指令,双方之间为一问一答模式通信。
(2)双向通信交互方式
针对支持双向通信交互方式的异构自动售货机,工业计算机和异构自动售货机之间互为主机或从机。
2、工业计算机控制多个异构自动售货机的方法
工业计算机控制单台异构自动售货机的方法比较简单,但是在实际运营过程中,往往是几台异构自动售货机摆放在一起,通过一台工业计算机控制,本发明中提出了几种方式来实现工业计算机控制多个异构自动售货机。
(1)工业计算机通过485总线方式控制多台异构自动售货机
工业计算机上如果有485总线接口,可以使用485总线方式控制多台异构自动售货机,每台异构自动售货机有一个自己的机柜编号或地址编号,通过485总线把所有异构自动售货机串联起来,工业计算机发送相应指令的时候,带入要接收指令的异构自动售货机的机柜编号或地址编号,通过485总线进行指令广播,每台异构自动售货机接收到指令后,根据指令中的机柜编号或地址编号检测是否需要处理该指令;
(2)工业计算机通过rs232方式控制多台异构自动售货机
工业计算机上如果只有rs232接口,按照rs232接口的使用要求,要连接控制多台异构自动售货机的话,有几台异构自动售货机,就必须要有几个rs232接口,这样的话,对工业计算机的设备要求比较严格,本发明提出了一种只需要通过一个rs232接口即可控制多台异构自动售货机的方法。
以地址编号为1的自动售货机作为主柜,其它的自动售货机作为副柜,以主柜作为通讯中转中心,工业计算机和主柜之间通过rs232连接,主柜和每个副柜之间通过485总线方式连接。
工业计算机在指令数据包中带入机柜编号或地址编号,发送给主柜,主柜检测机柜编号或地址编号,如果属于主柜编号,则主柜自行进行处理;如果属于副柜编号,则主柜通过485总线向属于副柜的自动售货机进行工业计算机发送指令的广播,每台自动售货机接收到指令后,根据指令中的机柜编号或地址编号检测是否需要处理该指令。
3、异构自动售货机与工业计算机之间的通信交互流程
(1)查询异构自动售货机当前工作模式的通信交互流程
工业计算机向自动售货机发送查询售货机当前工作模式的数据包;
若自动售货机接收到上述用于查询售货机当前工作模式的数据包,则向工业计算机返回自动售货机当前工作模式数据包,包括:出货方式(蛇形货道、弹簧、弹夹、格子、履带、升降、混合等)、温控工作模式(制冷、加热或者自动)、照明灯工作模式等;
当工业计算机接收到上述自动售货机发出的当前工作模式数据包应答后,保存自动售货机的当前工作模式数据到数据库;
(2)设置异构自动售货机制冷/加热等控制策略的通信交互流程
用户根据工业计算机记录存储的上述自动售货机当前工作模式数据,根据自动售货机具体情况,操作设置自动售货机制冷/加热控制策略、照明控制策略、除雾控制策略,并向工业计算机发送操作设置指令;
当工业计算机接收到用户操作设置指令后,根据上述自动售货机的当前工作模式(制冷、加热或者自动及照明灯等的工作模式),适配制冷/加热控制、照明控制、除雾控制的相关策略,如针对需要制冷的自动售货机,可能设置目标温度、预警温度、停售温度等,针对自动的自动售货机,可能设置制冷目标温度、加热目标温度、自动售货机工作温度范围、预警温度、停售温度等,自动适配策略后,通过数据包向所述自动售货机发送制冷/加热控制、照明控制、除雾控制的控制指令数据包;
当自动售货机接收到上述控制指令数据包,则向工业计算机返回对应的控制指令应答数据包;
当工业计算机接收到自动售货机的控制指令应答数据包后,即认为该操作成功,并把用户操作的相关控制策略保存到数据库中。
(3)针对混合式自动售货机的出货控制通信交互流程
针对混合式自动售货机,当工业计算机接收到需要出货的指令后,从数据库中读取要出货的货道所在托盘的类型(弹簧、履带、弹夹等),如果是弹夹式托盘,则还需要读取出货中间停顿时间、弹夹出货超时时间等参数数据;
工业计算机根据要出货的货道所在托盘的类型,根据每种托盘类型所需要的参数数据,自动封装相应的出货指令数据包,通过数据包向所述自动售货机发送出货指令数据包;
当自动售货机接收到上述控制指令数据包,则向工业计算机返回对应的控制指令应答数据包,同时按照工业计算机发送的出货指令数据包中的货道等相关参数,进行对应的出货动作控制;
当工业计算机接收到自动售货机的控制指令应答数据包后,解析该应答数据包,如果认为不能出货,则直接结束出货控制流程;如果认为自动售货机正在出货,则向自动售货机发送出货结果查询指令数据包;
当自动售货机接收到上述控制指令数据包后,则查询当前出货的结果进度,并向工业计算机返回对应的出货结果应答数据包;
当工业计算机接收到自动售货机的出货结果应答数据包后,解析该应答数据包,如果认为出货已经成功或者失败,即认为出货流程结束;如果认为出货仍然在进行中,则向自动售货机继续发送出货结果查询指令数据包。
(4)针对升降式自动售货机的出货控制通信交互流程
针对升降式自动售货机,当工业计算机接收到需要出货的指令后,从数据库中读取要出货的货道所在托盘的纵向位置坐标、横向位置坐标、升降到位后的升降停顿时间、出货延时时间等参数数据;
工业计算机根据升降货道的纵向位置坐标、横向位置坐标、升降到位后的升降停顿时间、出货延时时间等参数数据,自动封装相应的出货指令数据包,通过数据包向所述自动售货机发送出货指令数据包;
当自动售货机接收到上述控制指令数据包,则向工业计算机返回对应的控制指令应答数据包,同时按照工业计算机发送的出货指令数据包中的货道等相关参数,进行对应的出货动作控制;
当工业计算机接收到自动售货机的控制指令应答数据包后,解析该应答数据包,如果认为不能出货,则直接结束出货控制流程;如果认为自动售货机正在出货,则向自动售货机发送出货结果查询指令数据包;
当自动售货机接收到上述控制指令数据包后,则查询当前出货的结果进度,并向工业计算机返回对应的出货结果应答数据包;
当工业计算机接收到自动售货机的出货结果应答数据包后,解析该应答数据包,如果认为出货已经成功或者失败,即认为出货流程结束;如果认为出货仍然在进行中,则向自动售货机继续发送出货结果查询指令数据包。
(5)售货机设备的控制通信交互流程
工业计算机根据保存的自动售货机的配置数据,检测自动售货机支持的通信交互方式。
1)如果是主从通信交互方式,工业计算机根据设置的固定时间检测,向自动售货机轮训发送查询设备的控制指令数据包;
当自动售货机接收到上述控制指令数据包后,则查询当前设备的工作状态,并向工业计算机返回对应的工作状态应答数据包;
当工业计算机接收到自动售货机的设备工作状态应答数据包后,解析该应答数据包,记录当前的设备工作状态。
2)如果是双向通信交互方式,工业计算机建立监听数据线程,自动监听自动售货机;
当自动售货机检测到某个设备工作状态发生改变时,向工业计算机发送该设备工作状态汇报数据包;
当工业计算机接收到自动售货机的设备工作状态汇报数据包后,解析该汇报数据包,记录当前的设备工作状态。
(6)异构自动售货机和工业计算机之间数据通信的连接检测流程
为了保障异构自动售货机和工业计算机之间数据通信的连接一直保持,需要建立异构自动售货机和工业计算机之间的数据通信连接检测机制。
工业计算机根据保存的自动售货机的配置数据,检测自动售货机支持的通信交互方式。
1)如果是主从通信交互方式,工业计算机根据设置的固定时间检测,向自动售货机轮训发送数据通信连接检测指令数据包;
当自动售货机接收到上述指令数据包后,向工业计算机返回应答数据包;
当工业计算机接收到自动售货机的应答数据包后,认为当前和自动售货机之间的数据通信连接正常。
当工业计算机在几次都没有接收到自动售货机的应答数据包后,认为当前和自动售货机之间的数据通信连接失败。
2)如果是双向通信交互方式,工业计算机可以根据数据通信连接检测流程方向设置通信连接检测的发起方;
如果发起方为工业计算机,流程和主从通信交互方式一样;
如果发起方为自动售货机,自动售货机根据固定时间间隔,向工业计算机轮询发送数据通信连接检测指令数据包;
当工业计算机接收到上述指令数据包后,向自动售货机返回应答数据包,认为当前和自动售货机之间的数据通信连接正常;
当工业计算机在一定时间间隔内,都没有接收到自动售货机的汇报数据包后,认为当前和自动售货机之间的数据通信连接失败。
(7)异构自动售货机和工业计算机之间的数据通信超时处理流程
当数据发送方通过数据包向数据接收方发出控制指令数据包后,若在固定时间内没有接收到数据接收方的控制指令应答数据包,则认为操作失败,数据发送方可以再次重新发送指令数据包,也可以直接结束。
本发明还提供一种可以适用于异构自动售货机与工业计算机通信的统一通信接口协议。
工业计算机发送方通讯协议结构表
自动售货机通讯响应结构表
工业计算机与售货机互为主机或从机;
工业计算机对售货机的工作模式(运行模式)进行配置;
工业计算机收集售货机的运行数据;
工业计算机对售货机的出货动作进行监控。
工业计算机与售货机通过有线方法或无线方式通信连接;
所述的无线方式为蓝牙、wifi、3g、4g或5g中的任一种。