最近接到个任务,要让后台跟南瑞的ISA-353G线路光纤纵差保护测控装置通讯,主要任务是取该装置的遥测、遥信和保护事件。这个装置使用IEC103规约,经常一个多星期的研究,总算把103搞懂了。可能层次一般,但必竟完成任务了。
IEC103,有两种通讯模式,平衡模式和非平衡模式,353G用的是非平衡模式,即Pooling模式。刚接触103,就被一堆专业术语给唬住了,其实只要理解了103的通讯过程,它也是很简单的。当然这里指非平衡模式,平衡模式我也没接触过。
刚建立通信链路时,先初始化保护设备。这里不是指把设备物理重启了,这是个软件处理过程,大概用于确定通讯是否建立,该过程应该不可省略,但实际上,在与353G通讯时,不进行初始化也能正常通讯。
初始化设备时,设备会通过一级数据上传设备信息,如设备、厂家标识那些,对我而言,没用,不解析,注意!是不解析,不是不读,因为它不管你爱读不读都一样上传。。。。。。
总查询通常在初始化过程之后进行,这里关键要处理全遥信,有些设备只会上传全遥信,这里你要根据实际需要处理。
正常通讯下,控制系统不断请求二级数据,对于353G来说,它会不断返回遥测值。
在返回二级数据的报文中,会有一个ACD位,用于标识当前设备是否有一级数据需要召唤。如果ACD位为1,则在当前二级数据处理完以后,应当进行一级数据召唤.
进行一级数据召唤时,返回的报文也会有个ACD位,如果为1,则继续召唤一级数据;如果为0,则返回召唤二级数据。
一级数据包含相当多的信息,在处理一级数据时,大体通过ASDU、COT、FUN和INF码来区分数据的类型和处理方式。
ASDU等词义通过IEC103资料可以查到。这些要记住的,不然看文档会比较吃力。
在下面的通讯过程示意图中,初始化和总查询过程也会带有一级数据召唤,图中没有标出。
有一个原则,无论是何种命令召唤,返回的报文必然有一个ACD位,标识是否有一级数据需要控制系统去召唤,如果有一级数据,则应在当次命令召唤后立即进行一级数据召唤,直到再无一级数据无止。
关键数据处理也有需要注意的地方,解析遥测量时,
如报文中的数据是 00 20
高位在后 是 2000
转换成二进制 1 00000 00000 000
去掉后三位数 1 00000 00000
1 00000 00000 等于十进制 1024
实际值 = 1024除以 遥测标度
*.遥测标度相当是比例系数,如电流的遥测标度为341.333333,电压标度为17.066667,可通过南瑞给的点表查得。
另外,353G在通讯时也要设置一些东西,如RS485跳线、启用通信COM、全选上传点、设自动上传变位信息等。这些我也只是知道个大概,具体得仔细问问厂家。
遥测数据: 二级数据请求完成
总遥信: 总查询完成
变位遥信和事件信息:突发的一级数据请求完成