用巡检仪通讯完成数据采集,降低S7-200 PLC硬件成本

2018/4/21 20:11:00 人评论 次浏览 分类:PLC应用  文章地址:http://yunrun.com.cn/tech/1931.html

西门子S7-200 PLC自带DI和DO通道,对数字量信号控制极为方便,对模拟量信号处理效果相对较差。如有大量模拟量信号送入PLC,硬件成本将大幅增加。昌晖仪表在本文分享一种通过带通讯的巡检仪采集模拟量信号,借助MODUBUS通讯传输数据到PLC的方法,本方法既可降低检修难度和布线强度,还可降低硬件投资且保持数据传输的高稳定性和可靠性。

为更清晰的向大家展示具体操作流程和步骤,昌晖仪表制造有限公司结合某石灰窑的3套窑炉自动化控制系统案例做介绍。本案例涉及到传输设备、破碎设备、均料器、筛选设备,变频控制鼓风机设备。其中,现场每套窑炉均有13路温度信号需要采集,采用了3台昌晖16路巡检仪YR-GFM809-0000-08-NN-N-T来解决此问题,如图1所示。
石灰窑自动化控制系统运行监控画面

图1    石灰窑自动化控制系统运行监控画面

自控系统控制结构
该项目控制部分用的是西门子S7-200系列CPU 224XPCNREL02.02,通过网线实现以太网通讯硬件连接。数字量DI64点,DO32点;模拟量AI3点(主要是风量监测),39路温度信号通过16路巡检仪YR-GFM809-0000-08-NN-N-T采集到CPU。程序结构采用调用子程序的方式展开。子程序调用示例如图2所示。
STEP7-MicroWIN程序组态

图2    STEP7-MicroWIN程序组态

上位结构
采集的数据通过OPC服务器与上位通讯,其中的接口软件采用的是KEPServerV4.0,上位软件变量管理结构如图3所示。
上位软件变量管理结构
图3     上位软件变量管理结构

程序设计
①巡检仪介绍
巡检仪通讯协议采用标准Modbus协议,所用的传输模式为RTU模式。巡检仪采用先进的微电脑技术及芯片,性能可靠,抗干扰能力强,与各类传感器、变送器配合使用,可对多路温度、压力、液位、流量、重量等工业过程参数进行巡回检测、报警控制、变送输出、数据采集及通讯,常有八路巡检仪和十六路巡检仪之分。通讯协议设计保证了单片机与PLC之间的无误码传输,使仪表的参数设定和修改更加简单。硬件设计保证了输入电路测量精度,软件设计保证了A/D转换电路测量精度。通讯口设置如下:通讯方式异步串行通讯接口(RS-485),波特率采用9600bps。字节数据格式为:1位起始位、8位数据位、1位停止位、无校验。寄存器地址根据说明书给出的表格对应即可。
巡检仪
②程序结构
由于上位机与PLC距离较远约100m,采用PPI通讯最远保证距离为50m,所以采用以太网通讯。以太网通讯配置步骤如下:在向导-以太网中建立新的配置,选择CP243-1(6GK7243-1EX00-0XE0),定义IP地址为192.168.27.2,其中,注意为配置分配存储区,模块的配置块要求24个字节的V存储区。根据程序员选项,本例中配置的总计大小为159个字节,选择区域为VB379至VB537,如图4所示。
以太网通讯组态结构

图4  以太网通讯组态结构

设置CP243-1所占用的输出字节地址,此地址根据计算CP243-1前面的I/O所占用的Q地址字节来决定。本例中CP243-1安装在紧挨CPU的0号槽,其前面输出就占用了QB0和QB1两个字节,CP243-1的地址按顺序排,即设为QB2。CP243-1模块占用一个QB输出字节。完成以太网向导配置后,需要在程序中调用以太网向导生成的ETHX_CTRL,并将项目程序下载后,将PLC断电重新上电使得配置生效。本系统巡检仪与S7-200的通讯通过Mi-cro/WINMBUS指令实现的。欲在S7-200程序中使用Modbus主设备指令,首先插入MBUS_CTRL指令,调用指令后,初始化完成。在灰窑温度检测系统中,Modbus主设备通讯速率设置为9600Bps,无奇偶校验。从站允许应答时间为1000ms。程序如图5所示。

图5初始化调用MBUS_CTRL指令

其中,EN-使能:必须保证每一扫描周期都被使能;Mode-模式:常为1,使能Modbus协议功能;Baud-波特率:设置要与从站对应,本例设为9600;Panty-校验:0为无校验;Timeout-超时:主站等待从站相应时间,这个值必须足够大以保证从站有时间响应;Done-完成位:初始化完成,自动置位,可用于启动MBUS_MSG程序;Er-ror-初始化错误。初始化完成后,启动读写指令V700.1。程序如图6所示。


图6置位V700.1启动循环执行指令

读取从站数据调用MBUS_MSG指令,程序如图7所示。

循环调用MBUS_MSG指令
图7   循环调用MBUS_MSG指令

V700.1置位读取从站数据,读取保持寄存器40144起始的13个数据,根据数据格式写入&VB1000,如40144为32位浮点数,则保存在VB1000、VB1001、VB1002、VB1003中,依次类推,读取完成V702.1置位,复位读取从站保持寄存器V700.1、V702.3。
EN-使能:同一时刻只能有一个读写操作,建议每一个读写功能都用设一个MBUS_MSG指令的Done完成位来激活,以保证所有读写指令的循环进行;First-读写请求位,每一个新的读写操作必须使用脉冲触发;Slave-从站地址,一般可选范围为1-247;RW-0为读操作,1为写操作,开关量输出和保持寄存器支持读和写操作,开关量输入仅支持读功能;Addr-读写从站的数据地址,00001-09999是开关量输出,10001-19999是开关量输入,30001-39999是模拟量输入,40001~49999是保持寄存器;DataPtr-数据指针,如果是读指令,读回来的数据放到此数据区中,如果是写指令,要写出的数据放到此数据区中;Done-完成位;Error如果程序执行有误,将错误信息在此显示。

技术问题和优点
①系统建立过程中遇到的问题
a、WINCC安装过程中提示“SQLServerNativeClient(9.00.2208.00)找不到”,问题原因在于缺少文件,在WINCC安装包文件中找到sql-ncli.msi安装完成,解决问题。
b、在程序调用库文件“MBUS_CTRL,MBUS_MSG”的时候,设置参数应该重点注意通讯速率,仪表地址,仪表读取或写入地址,PLC分配的存储地址。例如作主站的S7-200的MBUS_MSG指令向Modbus从站发送请求消息,和处理从站返回的响应消息。要读取从站的I0.0开始的地址区时,它的输入参数Addr(Modbus地址)为10001。S7-200从站保持寄存器的V区起始地址为VB200时,要读取从站VW200开始的V存储区时,保持寄存器的地址是40001。
c、执行程序MBUS-MSG程序过程中,Error错误指示为:3=接收超时(从站无响应),原因是起始位设置错误,导致程序不能顺利循环。
d、MicroWin版本低,程序安装过程中没有库文件,单独安装库文件后,方能使用。

②3.2系统优点采用标准的Modbus协议,传输模式为RTU模式,巡检仪与S7-200通过MODBUS通讯传输数据。能节省硬件成本,减少敷线强度,降低检修难度。而且此程序设计方法可推广到PLC与变频器的通讯控制方式上,可大量节省AI模块的应用,降低工程成本。

这种西门子S7-200与昌晖巡检仪的通讯程序设计方法。基于WINCC组态软件来监控灰窑设备的运行,在设计过程中运用PLC与智能仪表通讯,实现了对多了温度信号的读取。经过实践证明,程序设计合理,程序库文件调用简单,简便易行、可操作性强、成本低廉,具有很强的实用价值。
作者:河北煤炭科学研究院 李会宁

共有访客发表了评论 网友评论

  客户姓名:
邮箱或QQ:
验证码: 看不清楚?