1新电能表通讯报文格式
要与新电能表进行通讯,除了要保证硬件回路没问题,通讯规约也要符合新电能表的要求,这主要体现在通信报文的正确识别上。要读取电能表的读数主要有以下通讯报文:(1)向电能表发出通讯请求西门子PLC发出的报文如下:(报文都以16进制ASCII码表示,下同)1B0203(1B代表ESC的ASCII码,02为电能表识别的报文开始位,03代表报文停止位。下面的所有报文都是以02开头,以03结尾)电能表接到请求信息后,返回一个确认报文如下:020606A403(其中第二位06代表ACK的ASCII码,跟着的06A4是这个报文的CRC校验码。(2)向电能表发送用户名和密码中调规定广蓄B厂所有的电能表一般用户的名称和密码如下:USERID:settime(不区分大小写)Password:cxb032(不区分大小写)PLC要登陆电能表必须向它发送正确用户名称和密码,报文如下:024C53455454494D452C43584230333200C02A03其中:02代表报文的开始位:4C代表登陆电能表的命令L(load);53455454494D45代表settime;2C代表逗号;435842303332代表cxb032;00为密码结束的中止位;C02A为计算出的CRC校验码;03为停止位;这个报文转换为字母就是:02LSETTIME,CXB03200C02A03。待电能表收到报文并确认密码正确后,回复报文跟前面一样为:020606A403(3)读取电能表中的寄存器由于新电能表采用CRC校验,CRC校验中规定,如发现在除了头02,尾03的其他报文中,有02,03,10,11,13,就把此报文变为两个字节10,40+这个字节数据,这样做的目的是在数据体中区分一些特殊字符。因此要读取这些值,要依次发出4个报文给电能表,报文如下:0252016910537803025200692049030252104369751A030252104269462B03其中报文开头和结尾的02和03还是分别代表报文的开始和停止位。52代表电能表读取命令“R”(read)。接下来的0169/0069/104369/104269则分别代表0169、0069、0369和0269四个电能表寄存器号。105378/2049/751A/462B分别为4个报文的CRC校验码。电能表在依次收到读取报文后,也依次发出4个包含有寄存器数据的报文给RTU。报文格式大致举例如下:0252016900000000789A03等等其中00000000即为所需要0169寄存器中的电度值,它是一个4个字节的浮点数,采用IEEE浮点数表示形式,789A为假设的CRC校验码。
2西门子CP544的通讯协议
CP544卡是西门子S5系列的专门的点对点串口通讯卡。它有3种通讯协议,分别是RK512、3964和OPENDRIVER协议。其中前两种协议因为需要设置西门子PLC能识别的目的地址,所以只能在西门子系列的设备中使用。要与电能表进行通讯,只能采用OPENDRIVER协议。该协议的特点是不管通讯设备的地址,只需确定西门子PLC侧的发送地址和接收地址即可。图3为西门子PLC通过CP544卡与电能表通讯的示意图。在图3中,PLC程序将指定的发送数据块通过SEND发送程序块,在物理上经CP544通讯卡与新电能表进行串口通讯,将请求报文发送给电能表。而电能表中的数据报文也通过串口通讯方式经CP544卡再经过RECEIVE-ALL接收程序块存放到指定的接收数据块中。串口通讯一个最基本的要求就是通讯双方的通讯参数设置必须一致。根据电能表的要求,CP544卡有以下设置。通讯基本参数:通讯模式选择:MODE2Variableusefuldatalength(endcharacter)波特率:2400b/s数据位:8位停止位:1位奇偶校验:无流量控制:无字节传送监控时间:20ms第一个结束识别字节(endcharacter1):03H(这个非常关键,设置03是为了与电能表的报文终止位相适应,否则通讯不能成功)第二个结束识别字节(endcharacter2):00H另外数据接收地址也在CP544卡设置软件中进行设置如表2:在表2中,分别设置了CP544卡两个通讯接口的接收地址分别为DB11和DB12,接收字长最大为64个字。通讯接口从CP544卡到RS485/232转换器,再到电能表的通讯链路的通讯接口接线如图4所示。
3通讯程序编写
按照前面部分所述的报文收发格式及CP544的相关协议要求,对西门子PLC与电能表通讯的控制程序进行了重新编写和调试,在程序的编写调试过程中,解决了电能表报文应答式收发存储、电能表数据CRC校验码解码、不同数制格式的转换和临界数据显示不稳定等几个技术难点,实现了新的电能表与PLC的数据通讯,使得电度值在上位机上得以重新显示并自动打印。
4总结
这个项目从研究CP544和新电能表的通讯原理及原有的通讯显示程序,到确定基本方案,新通讯程序的设计编写与调试,通讯完全实现,经历了近1年时间。经过不懈的努力,独立编写了新的电能表通讯程序,解决了前面所说的几大技术难点,实现了电能表与RTU之间的重新通讯连接。使得有、无功电度值得以在上位机上重新显示并定期打印。减去了巡检员每日凌晨零时定时手动抄表的工作,节省了人力物力,并为运行人员准确快捷计算厂用电率提供了帮助。这个项目的成功实施为以后类似的改造积累了大量的宝贵技术经验,可为类似工作提供借鉴。
作者:彭煜民 单位:清远蓄能发电有限公司