IEC104规约的秘密之一------总召唤

总召唤是104规约中的一个常见的应用过程,它的流程如下:
在这里插入图片描述
总召唤由主站主动发起,子站被动应答。一共3个命令:总召唤命令,总召唤确认命令,总召唤结束命令。其中后两个命令由子站发出。在总召唤确认和总召唤结束之间,是由子站负责将总召唤数据发给主站。

总召唤命令,总召唤确认命令和总召唤结束命令,报文基本一致,区别就是COT(Cause of Transmission)传输原因不同。

这个是正常的过程,还有一些非正常的情况,一个是子站数据未准备好或是已经有一个总召唤在执行等无法执行总召唤时,给与主站一个否定的确认(用COT=0x47)即可,后续不需要发任何和总召唤相关的报文。
另外就是子站没有总召唤数据,则发送总召唤确认报文和总召唤结束报文即可。

总召唤的用途,一个是用于数据完整性,一个是用于数据补全。因此,主站发起总召唤的时机一般为与子站建立连接和收到子站初始化结束报文。另外就是定时发起总召唤,一般间隔时间建议30分钟及以上。因为在数据量多的情况时,总召唤耗费资源及时间挺多,而104规约已经有保证数据不丢失的机制,因此不需要频繁发起总召唤。

在总召唤的过程中,此时若出现了突发数据,处理的方式有两种,做为二选一的配置放在子站,以应对不同的场景需求。一种叫总召唤可中断,一种叫总召唤不可中端。总召唤可中断是指在总召唤的过程中出现了突发数据,则将突发报文插入到总召唤过程中。可中断的优点是能及时将变化的数据送到主站,比如一些重要的告警或开关变位啥的,缺点就是总召唤过程时间会变长。总召唤不可中断,就是在总召唤过程中若出现突发数据,则先不送突发报文,等总召唤过程结束后再发送突发报文。优点是总召唤时间可控,能及时将所有数据送出去,缺点是数据的变化不能及时送到主站。
无论那种情况,在出现突发数据后,都要保证数据的一致性,就是针对突发的数据,在总召唤中的数据值和突发的数据值要一致或保持变化顺序性,不可出现主站数据和子站数据不一致的情况。

对于哪些数据属于总召唤数据,对于标准104一般是除循环数据之外的数据的遥信和遥测都属于总召唤数据,但现在由于用于多种用途,各种场景,因此简易是将数据都做成可配置,即可以根据主站要求,将主站需要的数据加入到总召唤中。

在子站组织总召唤报文时,建议尽量采用SQ=1的报文,这样可以减少报文的长度。当出现信息体不是全部连续时,究竟采用SQ=0还是SQ=1的报文呢,经过测算,一般连续7个及以上遥信,适用SQ=1,连续10个及以上遥测,使用SQ=1,以下就用SQ=0。

总召唤数据还可以进行分组,最多可以将总召唤数据分成16组,主站可以通过QOI来分别召唤不同组的数据。当然,子站应答的数据报文中COT传输原因就是21~36。

以下是104总召唤的例子报文,供参考:
1、主站发起总召唤
在这里插入图片描述
2、子站肯定应答总召唤
在这里插入图片描述
3、子站否定应答总召唤
在这里插入图片描述
4、子站发送数据
在这里插入图片描述
5、子站发送总召唤结束
在这里插入图片描述
6、主站发送总召唤第一组数据
在这里插入图片描述
一个完整的总召唤过程

2023/03/16 13:38:53.214 << -- 68 0E 08 00 06 00 64 01 07 00 01 5A 00 00 00 14
2023/03/16 13:38:53.230 << -- 68 0F 0A 00 06 00 01 82 14 00 01 5A 01 00 10 00 00
2023/03/16 13:38:53.245 << -- 68 17 0C 00 06 00 0D 82 14 00 01 5A 01 00 00 00 00 00 00 00 00 00 00 00 00
2023/03/16 13:38:53.495 << -- 68 0E 0E 00 06 00 64 01 0A 00 01 5A 00 00 00 14
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值