基于Ethernet的DZ3电力线载波阻抗测试系统
太网通信方式标记位的值为1时,终端的数据包采用串口发送至串口转以太网模块,经以太网传至主站。
2.2 终端以太网通信方式的命令收发测试
测前需先确定DZ3载波阻抗测试终端的硬件无故障,程序修改完编译无错误后即可载入芯片中开始具体的测试。测试方法是先使用网络调试助手发指令给终端,若终端能辨识出接收的指令正确与否,同时正确回复所有接收正确的指令,则表示终端软、硬件均无误,可与主站连接正常工作。终端回复的数据包中数据格式多样,有些为十六进制数据,有些则为BCD码,还有些为WORD型数据。
主要测试的几条常用指令如下:
(1) ID号的上传
主站开机,若选择以太网通信方式,主站向终端发送"04 04 FF 00"命令,要求终端上传ID号,终端中断接收函数(void IntUart0Rx(void) interrupt 4,串口0接收中断函数)接到04命令后,进入GPRS_RecString_Comp函数,对接收到的串比较,判断接收到的串中与04命令匹配后,对相应的标志置位设置为1,表示终端连接上网络了。又返回中断接收函数。后进入USB_Poll()函数,若Comcode=0x04,用串口发送ID给主站。具体测试如下:
主站发:04 04 FF 00
终端回复:相应终端设备的ID号,如84 00 00 0C 0C 05 00 01 03 03 80 00。
终端回复的数据串表示接收数据的长度为12位(终端回复主站的命令的第3位与第4位表示报文长度,00 0C是十六进制数据,转为十进制数值为12),该测试终端的ID号的流水号为: 000133。
若终端无回复,则需先检查网络调试助手与终端是否已建立连接,确定连接后,逐步调试程序,查看程序的串口接收函数中有无指令接收到,如此逐步查询直至找到具体故障点。若终端回复的位数不对或是回复的数据有误,则需先查看接收到的指令是否正确,若正确则进入相应指令的数据处理函数,辨别是终端数据处理不当还是数据包发送时发生了掉包故障,亦或是主站接收程序的故障。
(2)状态读回
主站发要求读回当前测试状态的08命令给终端,终端接收到命令,进入USB_Poll() 函数,先解析命令,得知是08命令后(即Comcode=0x08),进入08命令的处理程序,数据处理后需上传给主站的数据包使用串口发送给主站。测试如下:
主站发:08 04 F3 00
终端回复:终端设备的当前具体状态,如88 00 00 12 05 02 A0 8C 20 11 07 07 17 16 34 19 55 00。
从接收数据串的第3位和第4位可知主站接收到的这串数据长度为18位(00 12十进制为18),05表示测试的组间时间间隔为5 min,02表示频点时间间隔为2 min,当前测试频点为110 kHz(A08C十进制为41 100,
41 100-40 000=1100,1 100/10=110),20 11 07 07 17 16 34 19则表示当前的时间状态:2011年、周六、7月、17日、16时、34分、19秒。
其他所有指令的发送与接收都是在确定ID号上传正确后才可进行,此时可确定串口的收发程序无误,直接调测命令解析与数据处理部分的程序。
(3) 阻抗实时测量
主站发03命令给终端,终端接收到命令,进入USB_Poll()函数,解析得知是03命令后(即Comcode=0x03),进入03命令的处理程序,在实时测量结束后,把测量所得的数据通过串口发送当前状态给主站。阻抗实时测量的测试过程如下:
主站发:03 04 F8 00
终端回复:终端当前测量的频率点、阻抗模值及相位等数据。如83 00 00 21 11 07 15 2B 5C 16 09 00 31 FF F8 52 6C 16 09 00 66 FF FD 79 7C 16 09 00 CC FF FD 91 00。
终端答复主站的这串数据的长度为33位(00 21十进制为33),11 07 15表示11年7月15日,2B 5C表示测试频率点为110(2B 5C十进制为11 100, 11 100-10 000=1 100,1 100/10=110) ,16 09表示16时9分,阻抗模值为20.4(00 CC十进制为204,204/10=20.4),FF FD分别为相位高低位的计算参数,91为校验位,00表示最后的结束符。终端实时测量的具体回复数据会依据当前主站设置测量的参数值而变化。
若终端回复的数据与主站设置的参数不一致,需要查看03命令的解析程序解析结果是否正确,若命令解析无误则应逐步调试阻抗测量部分的程序,观察几条关键程序执行后得到的结果与理论值是否相近。
(4) 读终端上报数据
当测试人员想查看前一天的测试数据时,测试人员可登入主站管理软件,用主站发02命令给终端,02命令可使终端把所有的测试数据上传给主站。终端接收到命令,进入USB_Poll() 函数,解析得知是02命令后(即Comcode=0x02),进入02命令处理的那段程序,除中间的7次循环发送0这一点上存在区别(以太网通信方式不发而USB
- 基于PLC和OFDM技术的电力线载波技术在工厂数据传输中的应用(03-02)
- 电力线载波通信的外围电路设计(11-13)
- 如何在弱电线路上进行数据通信(06-05)
- 电力线载波通信技术智能家居应用分析(04-08)
- 电力线载波技术与基于OFDM的PRIME和G3方案对比(08-14)
- 八路全双工电力线载波对讲机(03-06)