关于规约协议中SEQ序列域的思考

    SEQ,称为序列号(SEQUENCE),用于在报文帧传输过程中上下行报文序号的区别,如IEC104协议定义如下:

                                  图1 IEC104协议I帧序列号定义

    如国网376.1协议定义如下:

                           图2 国网376.1协议序列域SEQ定义

还有,IEC102协议、DLMS协议等等都对传输帧的序列进行的定义。

      帧序列SEQ标识发送帧和接收帧的序号,它的定义有如下好处:

1. 在一问一答应用中,标识接收帧对应的是那一条发送帧。

2. 能够实现发送、接收多窗口的应用,如在多问多答的场景。

3. 如果对SEQ的序列值进行分段,可以实现一台设备对多个主站的采集支持(这点需要多轨软件的支持)

    但在实际的应用中,我们发现不少厂家对SEQ的理解并不深刻。不少厂家或者不支持SEQ、或者对SEQ的支持考虑的不够周全,主要表现在以下几点:

1. 不考虑SEQ的序列增加,每次都是用初始值,这将导致上送的报文并不是对方想要的报文。

2. SEQ递增到变量值最大值时应该如何回归变量?

3. 在多主站系统中,同一个设备支持多个主站系统,主站系统的seq变量应该如何变动,设备变量应该如何变化才能在多主站系统中不会引起seq变量的混乱?

    根据以上厂家出现的问题和我们的切身体验,我们建议在与SEQ相关的协议中增加一句话:SEQ的变动指针对一次通信流程,在下一次的通信流程中,SEQ变量初始化到起始值。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值