0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

自动售货机MDB协议中文解析(六)MDB-RS232控制硬币器的流程和解析

自动售货机MDB接口技术 来源:自动售货机MDB接口技术 作者:自动售货机MDB接口 2024-08-19 15:53 次阅读

MDB-RS232控制硬币器的指令说明及流程解析

MDB硬币器的控制指令列表如下:

wKgaombC-D2AdROZAAFowlDeR0g563.pngMDB-RS232与自动售货机MDB硬币器测试
  • 对于MDB-RS232适配器,适配器自身会进行POLL指令,分时读取硬币器的数据和状态。硬币器有接收到硬币或者有状态需要报告的时候,会在对应的时段把相应的数据通过MDB-RS232适配器发送给主机。因此主板开发工程师不需要考虑POLL指令和具体时序,只需要在需要的时候:发送 RESET复位指令,SETUP读取配置,然后根据SETUP的数据通过COIN TYPE使能对应类型的硬币。然后只要在有硬币变化或者找零后,通过TUBE STATUS指令去查询硬币器数量状态(为后续找零指令做数据准备)
  • 找零指令,一般只要适用0F02指令即可,一般不适用0DH指令。具体需要用到的指令,可以参考后面的指令列表,产品具体测试的过程中,也可以和我们的工程师讨论,会提供更多的技术支持。

指令 HEX代码 指令说明
RESET 08H 复位指令
SETUP 09H 读取配置信息
TUBE STATUS 0AH 读取钱管信息
POLL 0BH 轮询指令(不需要发送,由MDB-RS232适配器完成)
COIN TYPE 0CH

设定哪些硬币类型可以被接收以及可以被手动取出

(这个指令根据SETUP指令读取的硬币类型去设置适用)

DISPENSE 0DH 找零某个指定的硬币类型
EXPANSION 0FH

扩展指令(仅列出重要指令,其余可以咨询技术支持工程师)

0F 00 读取设备ID信息以及可选功能信息

0F 01 使能可选功能指令

0F 02 找零指令(按金额找零)

0F 03 找零状态查询

0F 04 找零金额查询

0F 05 状态查询

接下来我们简单介绍一下硬币器的开发指令序列及适用:

比如MDB-RS232通电后,我们会收到复位成功数据(以下测试数据为仅连接硬币器):

MDB-RS232在上电后,会主动向硬币器发送08H指令去复位,如果设备存在,会回复00确认。设备复位后,会报告0B。因此适用MDB-RS232控制支付设备时,我们只需要根据MDB-RS232报告的数据和状态就可以判断硬币器是否正常工作。

比如上面通电后串口收到的数据:

08 00:表示硬币器响应了复位指令,接下来收到的08 0B:表示复位成功

  • 接下来,就要读取配置

发送09H(读取配置参数,这个字节的参数都是相当重要的,必须要理解)

回复示例:031156050100030102000000000000000000000000000076

发送0F00(读取设备ID,这些参数和计算价格等无关,包括了设备代码,版本,厂家型号等,我们做DEX数据报告的时候一般都会向服务器报告这些参数,便于管理)

回复示例:49435430303031323334353637383943434D362D545741204D444201000000000366

发送0F01(完整指令示例: 0F0100000001)使能0F00参数说明里的Optional Features

回复示例:00

  • 运行过程中和硬币数据发生变化时候通过0AH指令去不断检测钱管里数量的变化

0A

回复示例:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

前面两个字节16个位表示哪个管子是满的,后面16个字节表示16个管子里硬币的数量

到这里,其实我们已经完成了基本的配置和读取

  • 接下来,我们就要根据需要接收硬币种类(或者禁止收币),发出对应的使能指令,比如

0CFFFFFFFF (发出这个指令后,硬币器就可以收钱了)

回复示例:00

0C00000000 (如果正在找零中,或者机器维护中,我们就需要暂停收币指令)

回复示例:00

下面等待MDB-RS232在有硬币投入或者投币状态发生变化时报告数据即可。当然一般设计工程师还是会每隔几秒适用一次0A指令实时读取钱管状态。能随时知道钱管里硬币的状态,为找零提供准确的依据。

收到投币数据: 08 51 01(示例数据,我们可以看MDB协议里0BH的回复那一段)

收到状态变化数据: 08 01(投币杆被按下)

08 02(找零BUSY)

如果区别是投币数据,还是状态数据呢?

投币数据是两个字节组成,第一个字节必然是大于40H的。所以我们收到数据,08开头,就确定是硬币器的数据,后面是51,就是投币数据,分解为二进制数据就是 0101 0001 00000001

(按MDB协议截图的解释就是:01类型的硬币,进入钱管,钱管里现在这个类型硬币有1个)

  • 接下来介绍以下找零周期

比如 0F0206 (0F02是固定的找零指令,后面的06就是要找的币值,当然这个币值是换算后的数值)

回复示例:00

硬币器找零过程中,会不断报告状态,比如找零BUSY,出口堵币等异常

以下列出找零时候标准的指令序列:

0A 回复:00000002000000000000000000000000000002读取钱管状态,判断是否有找零数量

0C00000000 回复:00 先禁止投币器收钱

0F0206 回复:00 开始发送找零指令

0F04 回复:0000 读取已经找零的数量,如果还没有找出去,就是00 00

0F04 回复:00 只回复了一个00,就表示找零已经结束

0F03 回复:00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 最后再次查询找零个数

0CFFFFFFFF 回复:00 重新使能硬币器

  • 接下来我们介绍根据配置进行币值计算

比如 09H指令,我们读到的配置:031156050100030102000000000000000000000000000076

也就是计算比例是红色的0501,币值有0102 (0003表示最后两个位的硬币可以接收进钱管)

因此币类型0值是01:币值就是 01*5=5,然后除以10(小数点左移1位),也就是币金额为0.5

币类型1值是02:币值就是 02*5=10,然后除以10(小数点左移1位),也就是币金额为1

(这里就可以看出来,我们的硬币器接收一个0.5元,一个1元硬币)

找零指令 0F0206 这里的06,同样换算 06*5=30,然后除以10,就是找零3元

更多的技术,可以在产品具体测试的时候,咨询我们的专业技术人员

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 适配器
    +关注

    关注

    8

    文章

    1927

    浏览量

    67877
  • MDB
    MDB
    +关注

    关注

    1

    文章

    23

    浏览量

    9410
收藏 人收藏

    评论

    相关推荐

    自动售货机MDB协议中文解析(八)mdb-rs232控制MDB年龄验证设备

    MDB-RS232控制自动售货机,无人值守设备MDB年龄验证设备。(以下是与台湾ICT的DCM5售卖机M
    的头像 发表于 10-15 11:27 253次阅读
    <b class='flag-5'>自动</b><b class='flag-5'>售货机</b><b class='flag-5'>MDB</b><b class='flag-5'>协议</b><b class='flag-5'>中文</b><b class='flag-5'>解析</b>(八)<b class='flag-5'>mdb-rs232</b><b class='flag-5'>控制</b><b class='flag-5'>MDB</b>年龄验证设备

    自动售货机MDB电源供电系统要求

    自动售货机MDB协议中文解析(五)MDB电源供电系统
    发表于 09-09 10:46 0次下载

    自动售货机MDB协议中文解析(四)通信格式

    自动售货机MDB协议中文解析(四)通信格式
    发表于 09-09 10:45 1次下载

    自动售货机MDB设备的级别和选项

    自动售货机MDB协议中文解析(二)MDB设备的级别和
    发表于 09-09 10:44 0次下载

    自动售货机MDB总线周边设备地址中文解析(三)

    自动售货机MDB协议中文解析(三)MDB总线周边设备
    发表于 09-09 10:43 0次下载

    自动售货机MDB协议中文解析(七)MDB-RS232控制纸币的详细流程和解析

    自动售货机MDB协议中文解析(七)MDB-RS232
    的头像 发表于 09-09 10:04 426次阅读

    自动售货机MDB协议中文解析(五)MDB电源供电系统要求

    自动售货机MDB协议中电源供电系统要求 文章定义了最小VMC电压输出。实际每个外设的电流额定值将在其各自的部分中定义。
    的头像 发表于 08-12 17:51 592次阅读
    <b class='flag-5'>自动</b><b class='flag-5'>售货机</b><b class='flag-5'>MDB</b><b class='flag-5'>协议</b><b class='flag-5'>中文</b><b class='flag-5'>解析</b>(五)<b class='flag-5'>MDB</b>电源供电系统要求

    MDB-RS232测试台湾ICT的自动售货机MDB协议年龄验证设备

    MDB
    科技MDB
    发布于 :2024年08月10日 15:57:20

    自动售货机MDB协议中文解析(二)MDB设备的级别和选项

    自从引入最早的MDB总线规范以来和MDB协议制定,自动售货机大多数的MDB外围设备的功能级别和可
    的头像 发表于 06-23 11:14 697次阅读

    自动售货机MDB协议中文解析(四) 通信格式

    自动售货机MDB协议中文解析,自助咖啡机售货机
    的头像 发表于 06-23 11:11 875次阅读

    自动售货机MDB协议中文解析(三)MDB总线周边设备地址

    自动售货机MDB协议总线周边设备地址列表
    的头像 发表于 06-21 17:46 838次阅读

    关于MDB-RS232售货机支付适配器的售前疑问解答

    关于MDB-RS232售货机支付适配器的售前疑问解答。介绍了MDB-RS232适配器的选择,应用和设计需求。帮助客户更多的了解MDB适配器和MDB
    的头像 发表于 05-08 22:26 473次阅读
    关于<b class='flag-5'>MDB-RS232</b><b class='flag-5'>售货机</b>支付适配器的售前疑问解答

    MDB-RS232测试NAYAX的VPOS自动售货机刷卡注意事项

    MDB-RS232测试NAYAX的VPOS自动售货机刷卡注意事项以及必要的通信指令。给我们设计自动售货
    的头像 发表于 05-08 22:20 752次阅读
    <b class='flag-5'>MDB-RS232</b>测试NAYAX的VPOS<b class='flag-5'>自动</b><b class='flag-5'>售货机</b>刷卡<b class='flag-5'>器</b>注意事项

    MDB-RS232测试百富PAX IM20刷卡注意事项

    MDB-RS232与百富的PAX IM20刷卡测试时候的注意事项。因为每家设备都有独有的特点,虽然都是遵循MDB协议,但是需要注意一些事项,才能保证
    的头像 发表于 11-22 17:22 824次阅读
    <b class='flag-5'>MDB-RS232</b>测试百富PAX IM20刷卡<b class='flag-5'>器</b>注意事项

    RS232-MDB MDB支付适配器使用说明

    RS232-MDB自动售货机非现金支付接口模块,可以连接RS232串口设备,作为支付设备从机,连接到自动
    发表于 11-22 17:01 0次下载