某项目的通讯协议

交互协议格式: FrmHID ID SD Flen Cmd AllFlag ListLen List Data ChkSum   

 [ FrmHID ID SD Flen Cmd AllFlag ListLen List Data ChkSum ]
           各数据说明如下:
           FrmHID (1Byte): 帧头标志,固定为 0x81。
           ID (1Byte): 目标地址,固定为 0x40。
           SD (1Byte): 上位机地址,为任意值。 (设备回复命令必须与请求命令
           是同一个值) 。
           Flen (1Byte): 全帧的字节总数。
           Cmd (1Byte): 命令值。参见“命令内容说明”
           AllFlag (1Byte): 保留位,固定为 0xFF(为协议兼容性考虑,保留此位)
           ListLen (1Byte): 保留位,固定为 0x01
           List (1Byte): 请求命令标志。请求命令为 0x01。回复命令为 0x00。
           Data (不确定): 命令数据区,由各命令分别定义。
           ChkSum (1Byte): 为从 ID 开始到 ChkSum 前一字节的校验码, 采用与 CLT
           规约相同的“异或”校验方式。

交互命令内容: 
        /// <summary>
    /// 雕刻返回的命令类型
    /// </summary>
    public enum SealBackCMD
    {
        /// <summary>
        /// 错误信息
        /// </summary>
        Error = 0x00,
        /// <summary>
        /// 返回 初始化激光器
        /// </summary>
        InitLaserBack = 0x11,
        /// <summary>
        /// 返回 发送封印号码
        /// </summary>
        SendCodeBack = 0x12,
        /// <summary>
        /// 返回 开始雕刻
        /// </summary>
        BeginCodeingBack = 0x13,
        /// <summary>
        /// 返回 取消雕刻(清除已发送的封印号)
        /// </summary>
        CancelCodeBack = 0x14,
        /// <summary>
        /// 返回 雕刻软件最大化
        /// </summary>
        WinMaxBack = 0x15,
        /// <summary>
        /// 返回 切换模版
        /// </summary>
        ChangeTemplateBack = 0x16,
        /// <summary>
        /// 返回 显示错误信息
        /// </summary>
        ShowErrorBack = 0x1f,
        /// <summary>
        /// 返回 显示红光边框
        /// </summary>
        DisplyRedBorder = 0x17
    }

    /// <summary>
    /// 发送到雕刻机的命令类型
    /// </summary>
    public enum SealCMD
    {
        /// <summary>
        /// 空状态
        /// </summary>
        No = 0x10,
        /// <summary>
        /// 错误信息
        /// </summary>
        Error = 0x00,
        /// <summary>
        /// 初始化激光器
        /// </summary>
        InitLaser = 0x01,
        /// <summary>
        /// 发送封印号码
        /// </summary>
        SendCode = 0x02,
        /// <summary>
        /// 开始雕刻
        /// </summary>
        BeginCodeing = 0x03,
        /// <summary>
        /// 取消雕刻(清除已发送的封印号)
        /// </summary>
        CancelCode = 0x04,
        /// <summary>
        /// 雕刻软件最大化
        /// </summary>
        WinMax = 0x05,
        /// <summary>
        /// 切换模版
        /// </summary>
        ChangeTemplate = 0x06,
        /// <summary>
        /// 显示错误信息
        /// </summary>
        ShowError = 0x0f,
        /// <summary>
        /// 显示红光边框
        /// </summary>
        DisplyRedBorder = 0x07
    }

第一步: 切换模板(模板不切换可以包略这条命令)
软件发送命令: 81 40 21 0B 06 00 00 01 43 43 6D 
[ FrmHID  ID  SD  Flen  Cmd  AllFlag ListLen List    Data   ChkSum ]
81    40  21   0B    06     00  00    01   43 43       6D 
命令解晰:
81    40  21   固定表头
   0B             字节长度  11
   06             切换模板命令
00    00        固定格式
01              请求命令  01 
43   43        模板数据
6D             验证码
  雕刻机回复命令:  81 40 21 0B 16 00 00 01 43 43 6D
[ FrmHID  ID  SD  Flen  Cmd  AllFlag ListLen List    Data   ChkSum ]
81    40  21   0B    06     00  00    01   43 43       6D 
命令解晰:
81    40  21   固定表头
   0B             字节长度  11
   16             切换模板命令成功
00    00        固定格式
01              回复命令  00 
43   43        模板数据
6D             验证码

第二步: 设备初始化

软件发送命令: 81 40 21 0A 01 00 00 01 00 6B
[ FrmHID  ID  SD  Flen  Cmd  AllFlag ListLen List    Data   ChkSum ]
81    40  21   0A    01     00  00    01    00      6B 
命令解晰:
81    40  21   固定表头
   0A             字节长度  10
   01             设备初始化
00    00        固定格式
01              请求命令  01 
00             数据
6B             验证码
雕刻机回复命令:  81 40 21 0B 11 00 00 00 01 6B
[ FrmHID  ID  SD  Flen  Cmd  AllFlag ListLen List    Data   ChkSum ]
81    40  21   0A    11     00  00    00      01       6B 
命令解晰:
81    40  21   固定表头
   0A             字节长度  10
   11             设备初始化成功
00    00        固定格式
00                回复命令  00 
01             回复数据
6B            验证码

第三步: 发送雕刻数据内容

软件发送命令: 81 40 21 10 02 00 00 01 31 32 33 2C 34 35 36 59
[ FrmHID  ID  SD  Flen  Cmd  AllFlag ListLen List    Data                  ChkSum ]
81    40  21   10    02     00  00    01    31 32 33 2C 34 35 36      59 
命令解晰:
81    40  21   固定表头
10               字节长度  16
02           设备初始化
00    00        固定格式
01                 请求命令  01 
31 32 33 2C 34 35 36             数据
59             验证码
雕刻机回复命令:  81 40 21 10 12 00 00 00 31 32 33 2C 34 35 36 59
[ FrmHID  ID  SD  Flen  Cmd  AllFlag ListLen List    Data                  ChkSum ]
81    40  21   10    12     00  00    00    31 32 33 2C 34 35 36      59 
命令解晰:
81    40  21   固定表头
   10             字节长度  16
11               设备初始化成功
00    00        固定格式
00            回复命令  00 
31 32 33 2C 34 35 36             回复数据
59            验证码


第四步: 发送雕刻命令

软件发送命令: 81 40 21 0A 03 00 00 01 00 69 

[ FrmHID  ID  SD  Flen  Cmd  AllFlag ListLen List    Data   ChkSum ]
81    40  21   0A    03     00  00    01    00      69 
命令解晰:
81       40  21   固定表头
0A           字节长度  10
02            打标命令
00    00        固定格式
01             请求命令  01 
00             数据
69             验证码
雕刻机回复命令:  81 40 21 0A 13 00 00 00 01 69
[ FrmHID  ID  SD  Flen  Cmd  AllFlag ListLen List    Data                  ChkSum ]
81    40  21   0A    13     00  00    00    01      69 
命令解晰:
81    40  21   固定表头
   0A             字节长度  10
13               设备初始化成功
00    00        固定格式
00            回复命令  00 
01             回复数据
69            验证码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值