VNC与工控机接口协议规范_第1页
VNC与工控机接口协议规范_第2页
VNC与工控机接口协议规范_第3页
VNC与工控机接口协议规范_第4页
VNC与工控机接口协议规范_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1. 说明1.1. 通讯方式 1. 工控机和 VNC 采用 RS232 异步通信协议。 2. 通讯参数: 数据位 停止位 起始位 奇偶校验位 波特率 8 1 1 无 19200 3. 超时时间:最长应答时间不超过 1000 毫秒,工控机收到 VNC 指令以后,在 100 毫秒内必须应答,超时应答无效。 4. 指令发起方式:指令只能由 VNC 发起,工控机进行应答。如果工控机有配置下发或者需要进行出货,则可以通过对 POLL 指令的应答返回信息。这样的情况下 VNC 需要再返回一个 ACK 或者 NAK。 1.2. 注意事项 1. 如果用户已经投入硬币或者插入纸币,必须交易结束后(找零或退币)后

2、才能接收工控机的出货指令。 2. 为了避免出货冲突,VNC 只能在 3 秒内出货一次。 3. 如果 VNC 与工控设备连续 10 秒交互失败,则需要重新签到。 4. 门由打开状态变为关闭状态后,VNC 重新进入初始状态,需要重新签到。 5. 用户输入货道编号后,VNC 将此货道的信息发送工控机。连续通知 4-5 秒,直到收到工控机的 ACK。如果此货道不能出货(无货或者料道故障、暂停营业、门打开)则都不需要上报给工控机,相当于没有选择;如果按键对应了多个料道,则返回一个能出货的料道。 2. 报文说明 2.1. VNC 报文结构 帧格式 指令 特征字 数据 校验位 1(byte) 3(bytes

3、) N(bytes) 1(byte) 描述: 字段 描述 指令 标明具体交互指令。 特征字 0xEF、0xEE、0xFE,如果报文没有数据,则不需要特征字。 注意: 1、 VNC回复的ACK或NAK报文没有特征字节。 2、 POLL指令应答报文中也没有特征字节。 数据 交互数据。 校验位 和校验。 2.2. 数据类型 符号 描述 N 或 n 数字数据, N1 或 n1 表示是数字数据且长度为 1byte。 A 或 a 字母表数据,A2 或 a2 表示是字母表数据且长度为 2bytes。 B 或 b 1. 二进制数据:金额、数量、商品序号等信息。 如:0xFF 即 255,高位在前低位在后。 2

4、. BCD 码:帐号、日期、时间等。 数据为 0-F,可以将两位压缩成 1 位,如“A7”压缩成 0xA7; 如月份“6”月压缩成月份为 0x06。 例如:2015 年 5 月 13 日,则 BCD 码为:0x20150513。 例如:14 点 30 分 28 秒,则 BCD 码为:0x143028。 3. B1 或 b1 表示是二进制数据且长度为 1byte。 2.3. VNC 指令 指令 值 描述 货柜连接信息 0x74 1、 货柜的连接信息表示哪些货柜连接上了。 2、 签到后发送。 3、 有货柜连接上或者断开后发送。 货道设置信息 0x75 1、 货道的设置信息。 2、 签到后发送。 3

5、、 货道改变后发送。 POLL 轮询 0x76 VNC 每隔 300ms 秒发送此指令到工控机,这里面包括收到货币的情况以及用户输入商品的信息。同时工控机如果有配置需要下发或者是需要出货的时候,将数据放到回复 POLL 指令的 ACK 报文中。 签到 0x78 1、 VNC 初始阶段发送,直到成功应答后才发送其他指令。 2、 在门由开启变为关闭状态时需要重新签到。 3、 主柜类型改变后需要重新签到。 4、 扩展柜类型有添加或者移除需要重新签到。 5、 签到后各个帧的发送序列为(每帧间隔 500ms): a)货柜连接信息。 b)货道设置信息。 c)货道价格信息(按照货柜编号依次发送)。 d)货道

6、故障信息(按照货柜编号依次发送)。 e)机器运行信息。 f)系统配置信息。 货道故障(有货无货)信息 0x79 1、 各个货道故障或(有货无货)信息。 2、 签到后发送。 3、 一个货道从故障(非故障)变为非故障(故障)后发送。 VNC 配置信息 0x7A 1、 相关系统配置设置参数。 2、 签到后发送。 3、 相应参数改变后发送。 商品销售汇总信息 0x7B 1、 商品销售汇总信息,按货道进行统计。 2、 POLL 帧里主动请求获取销售数据后发送。 出货 0x7C VNC 出货结束后,将出货的信息发送到工控机。 机器运行(故障)信息 0x7D 1、 售货机运行(故障)状态。 2、 签到后发送

7、。间隔 30 秒钟发送。 货道价格信息 0x7F 1、 各个货道的价格信息。 2、 签到后发送。 3、 货道价格设置完成后发送。 4、 货道价格由外部(如遥控器,手柄)改变后发送。 POS 机状态信息 0x81 1、 POS 机的状态信息。 2、 POS 机状态发生改变后发送。 货道优惠信息 0x82 1、 各个货道的优惠信息。 2、 优惠信息设置完成后发送。 3、 货道优惠信息或者价格信息改变后发送。 4、 签到后发送。 2.4. 应答报文 1. ACK 报文 报文的正文只有一个字节 0x00,这个就是 ACK 报文,一般表示收到指令的确认。 指令 数据 校验和 1(byte) 0x00 (

8、1byte) 1(byte) 2. NAK 报文 报文的正文只有一个字节 0x15,这就是 NAK 报文,一般用于表示收到指令但执行失败,一般原因是报文的内容不符合规范。 指令 数据 校验和 1(byte) 0x15 1(byte) 3. 轮询应答报文 轮询应答报文是 VNC 发送轮询指令到工控机,工控机需要发送配置或者是出货的时候,回复此报文(没有配置和不需要出货时候则直接回复 ACK 报文)。 指令 数据 校验和 1(byte) 交易码 1(byte) N(bytes) 1(byte) 在数据字段中,第一位是交易码。表示工控机要执行的动作。 交易码 名称 描述 0x02 设置系统时间 设置

9、 VNC 的系统时间。 0x03 出货请求 通知 VNC 出货。 0x04 设置货道价格信息 设置货道的价格。 0x05 设置系统配置信息 制冷、加热等系统配置信息。 0x06 清除销售统计 清除销售统计。 0x07 获取销售信息 获取销售信息。 0x08 开始设置货道价格 开始设置货道价格。通知 VNC 要开始设置货道的价格。 不支持此功能可以忽略此帧,回复 ACK 即可。 0x09 货道价格设置完成 设置货道价格完成。通知 VNC 货道价格设置完成。 不支持此功能可以忽略此帧,回复 ACK 后在一定时间内需时上报货道价格信息。 0x0A 设置货道优惠信息 设置货道优惠信息。 2.5. 指令

10、应答流程说明 1. 一般流程 说明:VNC 发送(除 POLL 指令)指令,工控机直接回复 ACK 报文,不附带任何数据。 VNC 工控机 VNC指令 ACK 2. POLL 指令工控机有数据下发流程说明:VNC 发出 POLL 指令,工控机附带数据响应,VNC 回应成功或者失败。 注意:工控机有数据响应时,报文中不需要携带特征字。 VNC 工控机 VNC指令 工控机响应(携带数据) ACK或NAK 注意:VNC 收到工控机的 POLL ACK 指令以后,如果发现报文有问题或者校验不成功则回复NAK 报文,否则回复 ACK 报文。 3. VNC 指令 3.1. 签到 字段 属性 描述 主控板版

11、本号 B2 主控板版本号。 驱动板版本号 B2 驱动板版本号。 VNC 协议版本号 B1 协议版本号,1-255。V1.3 协议版本号是 1;此协议是 V1.4,版本号为 2。依次累加。 售货机编号 B4 BCD 码,八位数字压缩码。 时间 B7 BCD 码,YYYYMMDDHHMMSS,14 位 VNC 时间压缩码。 主柜类型 B1 货柜的类型:0x01 饮料机,0x02 综合机(综合机包括弹簧机和履带机),0x03 - 格子机。 注意: 1、 如果主柜是综合机则扩展柜里面不允许有饮料机; 2、 如果主柜是格子机则扩展柜只能是格子机。 3、 主柜的货柜编号为 0。 主柜货道数 B1 主柜的货

12、道数。 16 个扩展柜信息 B32 1、 表示 1-16 货柜信息,货柜编号一次为 1-16。 2、 每两个 byte 表示一个柜的信息,如果没有则为 0。 3、 货柜类型:0x01 饮料机,0x02 综合机(综合机包括弹簧机和履带机),0x03 - 格子机。 Byte1:表示货柜 1 的类型。 Byte2:表示货柜 1 货道的数量。 Byte3:表示货柜 2 的类型。 Byte4:表示货柜 2 货道的数量。 Byte31:表示货柜 16 的类型。 Byte32:表示货柜 16 货道的数量。 注意:属性中 B2,就表示数据是 2 进制,两个字节。 工控机应答 ACK。 3.2. POLL 指令

13、 字段 属性 描述 用户投入现金金额 B6 此信息每次都要发送。 Byte1-2:接收的总金额,0 65535,以分为单位,比如 1005 表示 10.5 元。 Byte3-4:纸币器接收金额。 Byte5-6:硬币器接收金额。 键盘输入货道 B4 Byte1:货柜编号。 Byte2:货道编号。(没有按键为 0x00)。 Byte3-4:商品价格 0-65535。以分为单位。 工控机应答 ACK 或其它数据。 3.3. 出货 字段 属性 描述 货柜编号 B1 货柜编号:0-16。 货道编号 B1 货道编号:1-100。 售卖金额 B2 0-65535,以分为单位。 支付方式 B1 支付方式定义

14、如下: 1、 04 - 现金支付。 2、 05 刷卡。 3、 其他非本地支付方式由工控机发送出货请求中填充。如:出货请求中支付方式为 1,则这里的支付方式为 1。 出货状态 N1 1. 0 - 出货成功。 2. 1 - 该货道无货或者故障。 3. 2 - 其他原因没有出货。 4. 3 报文信息不正确。 5. 4 支付失败。 流水号 B3 由工控机发起的出货请求,在发送出货帧时候由工控机填充,否则主控板在此基础上自动累加这个值。 工控机应答 ACK 3.4. 货柜连接信息 字段 属性 描述 货柜连接信息 B3 Bit0:表示主机(货柜 0)是否连接。 Bit1:表示货柜 1 是否连接。 Bit2

15、:表示货柜 2 是否连接。 . Bit16 表示货柜 16 是否连接。 货柜是否支持设置价格到 VNC B3 Bit0:表示主机(货柜 0)是否支持设置价格。 Bit1:表示货柜 1 是否支持设置价格。 Bit2:表示货柜 2 是否支持设置价格。 . Bit16 表示货柜 16 是否支持设置价格。 3.5. 货道设置信息 字段 属性 描述 货柜编号 B1 货柜编号:0-16。 货道设置信息 B13 表示 1-100 货道是否设置(这里的设置表示 VNC 是否支持该货道)。各字节相应位 0 表示未设置,1 表示设置。 比如:弹簧机货道编号从 10 开始,则 Byte1 为;s。Byte2 的第

16、0 个 Bit 也为 0,第 1 个 Bit 代表 10 货道设置。 Byte1:1-8 货道。 Byte2:9-16 货道。 Byte3:17-24 货道。 Byte4:25-32 货道。 Byte5:33-40 货道。 Byte6:41-48 货道。 Byte7:49-56 货道。 Byte8:57-64 货道。 Byte9:65-72 货道。 Byte10:73-80 货道。 Byte11:81-88 货道。 Byte12:89-96 货道。 Byte13:97-104 货道。 工控机应答 ACK。 3.6. 货道故障(有货无货)信息 字段 属性 描述 货柜编号 B1 货柜编号:0-16

17、。 货道是否故障 B13 表示 1-100 货道的故障(有货无货)信息。饮料机各字节相应位 0 表示有货,1 表示故障或者是无货。综合机或格子机各字节相应位 0 表示正常,1 表示故障。如果格子机可以检测到有货没货则 0 表示有货,1 表示没货。 Byte1:1-8 货道。 Byte2:9-16 货道。 Byte3:17-24 货道。 Byte4:25-32 货道。 Byte5:33-40 货道。 Byte6:41-48 货道。 Byte7:49-56 货道。 Byte8:57-64 货道。 Byte9:65-72 货道。 Byte10:73-80 货道。 Byte11:81-88 货道。 B

18、yte12:89-96 货道。 Byte13:97-104 货道。 工控机应答 ACK 3.7. 机器运行信息 字段 属性 描述 运行状态 B1 BIT2:0主控板模式按钮没有按下;1按下模式按钮(控制板上默认门打开,并且按下模式按钮,可进行菜单中参数设置),注意:无此功能该位置位 0. Bit1:0 - 门关,1 - 门开。 Bit0:0 营业,1 - 暂停营业。 售货机状态 B1 Bit7:读卡器无应答。 Bit6:红外模块故障。 Bit5:右室温度异常。 Bit4:左室温度异常。 Bit3:右室温度传感器故障。 Bit2:左室温度传感器故障。 Bit1:系统时钟不正常。 Bit0:驱动板

19、无应答。 纸币器状态 B1 Bit7:保留。 Bit6:纸币堵塞(纸币器口)。 Bit5:纸币器钱箱满(钱箱)。 Bit4:纸币器钱箱被取走(钱箱)。 Bit3:纸币器ROM 校验错。 Bit2:纸币器传感器故障。 Bit1:纸币器驱动马达故障。 Bit0:纸币器无应答。 硬币器状态 B1 Bit7:硬币器1 元缺币(钱币)。 Bit6:硬币器1 分缺币(钱币)。 Bit5:硬币支出堵塞(硬币口)。 Bit4:硬币接收堵塞(硬币口)。 Bit3:硬币器ROM 校验错。 Bit2:硬币器传感器故障。 Bit1:硬币器工作电压低(警告)。 Bit0:硬币器无应答。 硬币器检测到硬币数量 B4 By

20、te1-2:0.5元个数。 Byte3-4:1元个数。 纸币数量 B2 纸币数量(VNC计算所得)。 工控机应答 ACK 3.8. 系统配置信息 字段 属性 描述 照明状态 B1 0x00:自动, 0x01:常闭,0x02:常亮。 日光灯时间 B4 采用 BCD 码,不支持则为 0x99, 0x99, 0x99, 0x99。 Byte1-2:开灯时间 HHMM 压缩。 Byte3-4:停止时间 HHMM 压缩。 温控状态 B1 0x00:制冷,0x01:制热,0x02:关闭(常温),0x99:不支持。 如果售货机分左室和右室则分别控制左室和右室的温度。 节能时间 B4 采用 BCD 码。不支持

21、则为 0x99, 0x99, 0x99, 0x99。 Byte1-2:节能开启时间,HHMM 压缩。 Byte3-4:节能关闭时间,HHMM 压缩。 制冷温度 B1 制冷设定温度。 Bit7:0 正值,1 负值。 B1 制冷实际温度。 Bit7:0 正值,1 负值。 加热温度 B1 加热设定温度。 Bit7:0 正值,1 负值。 B1 加热实际温度。 Bit7:0 正值,1 负值。 工控机应答 ACK 3.9. 货道价格信息 字段 属性 描述 货柜编号 B1 货柜编号:0-16。 货道价格信息 B200 1-100 货道的价格信息,每 2 个 byte 表示一个货道的价格。以分为单位:如 0x

22、01 表示 0.01 元;0xFF 表示 2.55 元;0xFFFF 表示655.35 元。 工控机应答 ACK 3.10. 商品销售汇总信息 字段 属性 描述 货柜编号 B1 货柜编号:0-16。 货道销售总数量 B200 1-100 货道销售商品总数,每 2 个 byte 表示一个货道销售商品总量。 时间 B7 BCD 码。YYYYMMDDHHMMSS,此出的时间是清零时间不是发送时间。 工控机应答 ACK。 3.11. POS 状态信息 字段 属性 描述 POS 机状态 N1 POS 机器的状态信息 1、0 - 等待刷卡 2、1 - 认证中。 3、2 - 授权成功。 4、3 - 授权失败

23、。 说明:当接收到 POS 机授权成功的消息后,用户如果是通过按钮选的商品则 VNC 直接扣款 s 出货,否则工控机当以当前屏幕选择的商品发送出货指令;VNC 通过 POS 机扣款出货后只需要将出货的信息上报给工控机。 不支持此功能可以忽略此帧。 工控机应答 ACK。 3.12. 货道优惠信息 字段 属性 描述 货柜编号 B1 货柜编号:0-16。 货道优惠信息 B200 1-100 货道的优惠信息。每 2 个 byte 表示一个货道的优惠金额,单位分。 工控机应答 ACK。 4. 工控机应答 4.1. 设置系统时间 字段 属性 描述 交易码 B1 0x02。 时间 B7 BCD 码,YYYY

24、MMDDHHMMSS,14 位时间压缩码。 VNC 应答 ACK 4.2. 出货请求 字段 属性 描述 交易码 B1 0x03。 货柜编号 B1 货柜编号:0-16。 货道编号 B1 货道编号:1-100。 变价出货 B1 是否变价出货,变价出货为 1,否则为 0。如果是移动支付方式则应该设置变价出货,本地支付则不变价出货。 售卖金额 B2 0 65535,以分为单位。如果是移动支付则售卖金额是 0,否则原价。 支付方式 B1 支付方式定义如下: 1、 04 - 现金支付。 2、 05 刷卡。 3、 其他取值为(1-3,6-255)。 流水号 B3 注意:两次相连的流水号不能重复。 注意: 1、 在门打开或者是暂停营业的状态,是不能进行出货的。 2、 VNC 应答 ACK 4.3. 设置货道价格信息 字段 属性 描述 交易码 B1 0x04。 货柜编号 B1 货柜编号:0-16。 货道编号 B1 货道编号:1-100。 商品价格 B2 以分为单位,如:0x01 表示 0.01 元;0xFFFF 表示 655.35 元。 注意: 1、 货道信息只有在商品信息更新以后

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论