首页> 资源> 论文>正文

微山污水处理厂智能电量表的MODBUS通讯调试

论文类型 运营与管理 发表日期 2005-10-01
来源 中国水网
作者 胡宝棋,张波,邢超
关键词 MODBUS 通讯
摘要 通过微山污水处理厂的工程实例,详细介绍了工程中常用的电量表与施耐德PLC通过MODBUS通讯的实现方法。对类似的工程有一定的参考作用。

胡宝棋  张波  邢超

  摘要:通过微山污水处理厂的工程实例,详细介绍了工程中常用的电量表与施耐德PLC通过MODBUS通讯的实现方法。对类似的工程有一定的参考作用。
  关键字:MODBUS 通讯

1.微山污水处理厂的情况

  山东省微山县污水处理厂日处理污水4万吨,采用CAST生物池的处理技术,出水水质达到国家二级综合排放标准。一个运行周期分为四个阶段:进水,曝气,沉淀和滗水。
  自控系统遵循“集中管理、分散控制,资源共享”的原则,采用二级分布式计算机控制系统。全厂的自动监控系统由现场仪表, 现场PLC站,防雷系统和上位监控站组成。

微山污水处理控制系统框图

  配电室高低压配电柜共有智能电量表24块,通过MODBUS总线将电量测量信号送到PLC。MODBUS总线应用十分广泛,并且已经成为国家标准。不同生产厂家提供的MODBUS 数据格式略有不同,给工程应用带来了一定困难。本项目经过一定时间的摸索实验,成功地把数据读取出来。现把过程方法介绍,与大家分享。

2.电量表的调试

  微山污水处理厂使用了2种类型的智能电量表EPM420A和DPM400,分别安装于低压配电柜和高压配电柜上,共有24块。
  仪表情况
  
EPM420A原产地为英国,显示测量一体单元,可以有三种接线形式:单相测量;三相三线制不平衡负载测量;三相四线制不平衡负载测量。可以测量电压、电流、功率因数、频率、功率、能量等参数。具有RS485 MODBUS通讯口。EPM420A有2张数据表,分别需要MODBUS的3#和4#总线代码来访问,数据存放格式为单精度浮点,首地址为高字,末地址为低字。
  DPM400原产地为瑞士,显示测量一体单元,可以测量电压、电流、功率因数、频率、功率、能量等45种参数。具有RS485 MODBUS通讯口。DPM400有一张数据表,需要MODBUS的3#总线代码访问,数据格式为无符号整数,设备制造商提供一张计算公式表,读到的整数经过公式计算,得到对应的电量值。
  PLC情况
  
采用施耐德公司的PREMIUM 系列PLC,SCY21601通讯卡。
  组态软件:PL7PRO 4.2

  MODBUS 命令表

Modbus 请求

功能码

命令函数 读位

16#01 READ_VAR 读字

16#03 READ_VAR 读输入位

16#02 SEND_REQ 读输入字

16#04 SEND_REQ

  接线和协议设置
  
电气接口为2线制RS485,使用屏蔽双绞线连接(典型线规为22BELDEN8761或等同规格),所有“A”和“B”型接口都是菊链在一起的,屏蔽线应该连接到“地”端,采用单点接地。
  EPM420A和DPM400统一设定RTU数据格式:数据位 8,无校验,停止位 1,波特率9600bps。
  调试过程
  
DPM400:用READ_VAR命令把对应地址的整型数读上来,通过提供的计算公式可以把相应电量计算出来。

  注意:用PL7的DEBUG窗口Identification 按钮测试,这类表没有响应,表内置的可能不是完整的MODBUS,PL7 DEBUG 用的功能码表内软件没有提供。所以,不能用PL7的DEBUG测试这块表是否连通,要到程序中通过报告字来判断是否通讯成功。
   EPM420A由于仪表内有2张数据表,用不同的功能码来访问,并且数据格式为浮点型,数据读取就非常困难和复杂。PL7的READ_VAR命令中没有做3#和4#功能的区分,所以起初技术人员认为这2张表的数据地址有重叠,是无法正确地读到PLC中的。进一步的查找资料,READ_VAR和SEND_REQ命令的不同之处,4#功能码可以由SEND_REQ来实现,这样理论上就可以通过READ_VAR和SEND_REQ把2张表的数据读上来。
  参数初始化

  

  读取命令
  
  数据转换
  读上来的数据存放在目标地址%MW1350起始的变量中,PL7中浮点数的格式为IEC标准型,首地址为低字,末地址为高字,这点与EPM420A中的浮点格式不同(顺序相反)。
  %MW1350:返回状态0—成功,1—失败;
  %MW1351:=16#0004 返回功能码
  %MW1352:=16#PF00A  0A 为接收的字节长度
  %MW1353:=16#PF1pf0   PF/pf 为接收的字节数据
  %MW1354:=16#PF2pf1 把接收的字节数据解析为浮点数测量值的过程:
  

  %MF360 为读到的电量表的浮点测量值。
  另外,仪表的通讯响应速度比PLC慢得多,当仪表的数量较多时,需要用时间片的方法来控制PLC的读取时间间隔,以避免造成通讯数据的堵塞。在本工程中采用定时器和报告字第一个字的X0位(表示该表的反应状态,0-等待,1-正在发送数据)共同控制PLC的读取时间间隔。
  通过以上的方法,比较好地解决了本项目中的电量表通讯问题。


作者:胡宝棋   中自控(北京)环境工程有限公司
   邢超       微山污水处理厂

论文搜索

发表时间

论文投稿

很多时候您的文章总是无缘变成铅字。研究做到关键时,试验有了起色时,是不是想和同行探讨一下,工作中有了心得,您是不是很想与人分享,那么不要只是默默工作了,写下来吧!投稿时,请以附件形式发至 [email protected] ,请注明论文投稿。一旦采用,我们会为您增加100枚金币。