这些天一直让集中器满负荷做运行测试,配置为1主集中器(带1200块载波表6块重点用户表)+1从集中器(带1200块RS485表6块重点用户表),运行正常。
12月1日是星期六,照例,早上上班后看运行结果,发现电表的时钟校时状态位是“时钟已校”,觉得不太对头。我记忆中并没有向集中器发送时钟校时的命令,集中器当然也不会向电表发送广播校时的命令了,是不是其它同事在主站按下了时钟校时的按钮呢?
问刘工,刘工笑曰:“做了,用的是实时命令校时。”再问测量点号用的是FFFF吗?答曰:“用的是全0发送的,全FF是什么意思? ”翻开通信规约查一查,“如果测量点用FFFF表示集中器接受校时命令后再发广播校时给电表。”看来刘工没有让电表接收广播校时的操作。
问郭工、唐工,均回答说没有操作过主站那台电脑,前天也没有操作,大前天也没有,大大前天也没......。够了够了,只要最近这两天。
这就奇怪了,既然没有对电表广播校时,电表何以回答时钟已校呢?按常理,电表的时钟已校标志每天要自动清除的。而且这个功能我以前测试过,是正确的,没有问题。
有必要重新整理以下集中器关于对电表广播校时的机制了。集中器一旦收到主站对自己的校时命令或者是设置时钟参数,则立即修改自己的时钟,如果测量点为FFFF,则还需要向电表转发广播校时。由于通信距离的不同、线路的载波特性不一样并且广播校时命令电表不会应答,因此不能保证在集中器发布广播校时命令时所有的电表都能收到,并且集中器也不知道哪些电表成功执行了刚才的广播校时命令,因此集中器会补校时。其规则是:在每次抄表周期里抄收电表状态,如果发现该电表时钟未校,则用该表的中继路径对其发送广播校时命令。补校时的有效时间为24小时,也就是说,只有在上次收到主站要求对电表广播校时的24小时以内,集中器才执行补校时。
好,现在来分析一下我们的电表为什么是“时钟已校”状态。集中器在最近的2天里都没有收到主站要求对电表广播校时命令(这一点相信诸位工程师没有记错,也可以通过集中器里的LOG确认这一点),因此可以这样说:或者集中器下发了不该下发的广播校时命令,或者电表在新的一天到来后未清除该标志。
对于第1点,察看LOG日志,确认集中器没有下发广播校时命令。
可是如果是电表未清除标志也不对呀,这项功能测试过,我没有记错。那是怎么一回事呢?
回忆一下当时测试的情况吧。有什么是不一样的呢?记起来了,有一点不一样。那就是:当时的测试是让电表不停电连续运行,现在的情况是晚上下班停电,早上上班再对集中器和电表上电。难道是:电表仅仅只是在00:00分时才将该标志清除,如果在该时刻停电,则清标志工作不做?
想到这儿就立即做实验,今天晚上不要停电了,连续运行。
......
过了一个星期天,今天周一。上班立即看电脑,“时钟未校”,标志被清除。果然,连续运行,只要跨0点运行该标志就会清除,我们原来的判断正确。问题找到了,兴奋中,以下略去200字。
等等,我们现在只是证明了经过0点该标志可以被清除,还没有证明不经过0点该标志未被清除,不要着急,确认BUG不急多等一天,明天再下结论吧。
讨论测试方案:现在是上午8:50,广播校时给集中器,用FFFF下。好了,电表的时钟被校,标志:时钟已校。记住今天下班给电表下电,明天8:50分以后再给电表上电(这里卖个乖乖,为什么要8:50分以后呢?),并且在上电之前打开XCZB.EXE软件监视载波通信代码(一切要控制在掌握之中)。
好了,让我们期待明天吧!
文章评论(0条评论)
登录后参与讨论