基于InTouch和MODBUS协议的电力监控系统
1 概述
intouch是由美国wonderware公司开发的过程可视化组态软件,其功能强大、易用性好,市场占有率高,结合其他的软件,如io server和d/a server,可以完成许多工业项目。modbus是由modicon公司开发的开放的通信协议,它已经成为事实上的工业标准,国内外生产的中低压智能电力监控装置大多带rs-485接口,并支持标准modbus通讯协议。基于以上两点,笔者设计了一种基于intouch和modbus协议的电力监控系统,上位机采用安装有intouch和modbus io server的研华工控机,下位机采用上海南自科技公司的snp-200系列电力测控仪表,系统开发方便,扩展性和稳定性好。
2 电力监控系统的硬件设计
电力监控系统的硬件示意图如图1所示。
图1 电力监控系统硬件示意图
snp-200测控仪表有一个rs-485接口,采用modbus-rtu通讯协议。rs-485接口的接线端子为“a”和“b”,“a”有时也被称为差动信号的“+”,“b”被称为差动信号的“-”,图中所有snp-200仪表的“a”短接在一起,所有的“b”短接在一起。rs-485的传输介质为屏蔽双绞线,通信距离可达1200米。当使用的波特率较高,或一条线路上的仪表较多时,通讯距离会相应缩短。此处,snp-200采用波特率为9600bps,数据格式为8位数据位+1位停止位,无奇偶校验。为保证通信质量,应将每台snp-200仪表的gnd端子短接在一起,并在主机处单点接地。图中的终端电阻rt阻值为120欧,它安装于一条rs-485总线末端的最后一块仪表上。由图可知,可以很方便地在rs-485总线的末端扩展新的从站仪表。另外,由于工控机拥有多个rs-232com口,每个串口都可以经各自的rs-232/rs-485电平转换器组成一条rs-485总线,例如,可以将1~10#从站仪表接入com1带的第一条rs-485总线,将11~20#从站仪表接入com2带的第二条rs-485总线,余此类推,这样分散开来,既减轻了每个com口的通讯负担,又非常方便扩展新的从站仪表。
3 电力监控系统的软件设计
3.1 i/o server for modicon modbus中的设置
1台主机往往带多个modbus从站,例如图1所示。以1#从站仪表为例,打开modicon modbus io server,设置modbus topic definition中的参数[1],如图2所示。图2中,topic name设置为snp_1,com port为com1,slave id即为仪表的modbus从站号1,slave device type选择为micro84plc。其他从站仪表的设置方法相同。
图2 modbus topic definition设置图
3.2 intouch中访问名的设置
仍以1#从站仪表为例,intouch中的访问名设置为snp_1,节点名可以不设置,或设置为本机(主机)的ip地址127.0.0.1,应用程序名为modbus,主题名和modbus topic definition中的topic name一致,即为snp_1,使用的协议为suitelink,如图3所示,按照同样的方法设置其他modbus从站的访问名。
图3 intouch访问名配置图
3.3 遥信功能的实现
遥信即读取外部开关量输入状态(从站输入线圈),如断路器合闸、分闸状态,接地刀闸位置等。结合snp-200的modbus通讯协议知,读取1#从站仪表的4个遥信开入量,主机下发和从站返回的报文格式分别为[2]:
主机发送 : 0 02 000 0004 crc
地址 功能码 起始地址 读开关量个数 crc码
从机响应: 01 02 01 02 crc
地址 功能码 字节数 di状态数据 crc码
注意报文中输入线圈起始地址0000h对应的设备地址为10001,其他顺延。本例中,主机读取1#从站输入线圈10001~10004共4路信号。工程应用中,可根据需要将不同的开入量接入仪表,如10001为1#配电柜内断路器合闸状态,10002为1#配电柜内断路器分闸状态,10003为1#配电柜接地刀闸位置状态,10004为备用。在此,我们不必关注crc校验码的计算和校验,只需在intouch中先配置好访问名snp_1,再逐个配置10001~10004 i/o离散型变量,以1#从站仪表的10001为例,打开intouch开发界面,配置其标记名字典如图4所示,图4中,访问名为snp_1,项目名即为设备地址10001。其他遥信开入量按照同样的方法设置。
图4 遥信变量的标记名字典配置图
3.4 遥测功能的实现
在遥测即读取电压、电流、功率等寄存器地址中的数值,转换成实际工程量,供上位机显示用。snp-200系列仪表使用03h作为遥测功能的功能码,以1#从站仪表为例,已知电流互感器的变比为500/5=100,要测量ia、ib、ic三相电流值,主机发送和从机返回的报文格式为[2]:
功能:主机读取1#从站仪表的报文地址为0103h开始的3个寄存器数据,分别对应ia、ib、ic的通讯值,需指出的是,电流通讯值要乘上一个系数才能换算成实际值,本例中,i实际=i通讯×ct变比/100=i通讯×100/100=i通讯。报文中ia寄存器地址0103h=259,对应设备地址为40260,其他顺延。配置1#从站仪表的ia标记名字典,如图5所示,访问名仍为snp_1,项目名即为设备地址40260。ib、ic按照同样的方法设置。
图5 遥测变量的标记名字典配置图
3.5 遥控功能的实现
本遥控即远方控制snp-200电力仪表的输出继电器进而实现对断路器合闸、分闸回路的控制。snp-200遥控功能码为05h,以1#从站仪表为例,假设第一路继电器用于合闸回路,要使其输出一个1秒的合闸脉冲,主机发送和从机返回的报文格式为[2]:
报文中线圈地址为0000,对应设备地址为00001,如果线圈地址为0001,则对应设备地址为00002,其他顺延。配置1#从站仪表的合闸控制变量如图6所示,访问名设置为snp_1,项目地址即为设备地址00001。只需在intouch中配置一个按钮,按钮按下时使qf1_on_button为1,按钮松开时使qf1_on_button为0,按下按钮维持1秒后松开,就可以使第一路继电器输出1秒的合闸脉冲,进而实现对断路器的合闸远控。
图6 遥控变量的标记名字典配置图
3.6修改装置参数
仍以1#从站仪表为例,要将其电流变比系数修改为100/5=20(14h),则主机发送和从机返回的报文格式为[2]:
由snp-200的modbus规约,ct变比的寄存器地址为000eh=14,对应的设备地址为40015。设置标记名字典如图7所示,要将1#从站仪表的电流变比设置为20,只需将ct_value(对应设备地址40015)修改为20即可。
图7 修改装置参数的标记名字典配置图
4 结论
文章介绍的基于intouch和modbus协议的电力监控系统,以工控机作为主机实现对电力测控仪表的遥信、遥测、遥控及修改装置参数等功能,性价比高,符合过程工业流行的趋势,运行表明,该系统稳定、可靠,且非常易于扩展,在工程上有一定的借鉴意义。
文章版权归西部工控xbgk所有,未经许可不得转载。