您的位置:控制工程论坛网论坛 » 教程与手册 » 基于Modbus的智能工业控制器监控系统的设计

jshfq

jshfq   |   当前状态:在线

总积分:17995  2024年可用积分:0

注册时间: 2007-08-06

最后登录时间: 2013-11-04

空间 发短消息加为好友

基于Modbus的智能工业控制器监控系统的设计

jshfq  发表于 2008/7/30 18:13:52      638 查看 0 回复  [上一主题]  [下一主题]

手机阅读









基于Modbus的智能工业控制器监控系统的设计

 
摘  要:本设计包括智能工业控制器下位机和应用组态王6.51软件编制的上位机监控程序,两者通过目前流行的Modbus协议通讯。前者应用智能专家PID控制算法,完成对温度,压力,液位等物理量的控制,后者用于对下位机参数读写,显示,报警,报表打印等,从而实现了一套完整可靠的工业监控系统。经厂家使用效果比较理想,有广阔的应用前景。 


关键词:智能工业控制器;组态王6.51;Modbus协议;智能专家PID;工业监控系统


引言


  随着现代工业的发展,对工业设备的控制逐步从单一独立系统向集散控制监控系统发展,因此,笔者设计了基于Modbus协议的智能工业控制器监控系统,利用智能专家PID控制算法,可对工业现场的温度,压力,液位,湿度等参数进行精确控制,并且可以利用上位组态软件实现现场参数的读写,显示,越限报警,打印报表等,实现了一个完整的工业监控系统。


1 智能工业控制器的系统组成及工作原理


  1.1 硬件系统


  该智能工业控制器系统框图如图1所示,它采用了AT89C55WD单片机为CPU[1],以四位半的双积分A/D转换器ICL7135串行方式进行数据采集,ICL7135的Busy信号上升沿触发定时器T0开始计脉冲数,转换完毕时Busy信号下降沿触发INT0中断读取定时器T0的计数值,经过简单的换算就可以得出A/D转换值。模拟开关4051控制8路通道的通断状态,由CPU来配置信号处理电路和多路选择开关的选通情况。12级串行分频器CD4040的基准时钟信号采用AT89C55WD单片机的ALE信号,由于程序中没有使用MOVX指令,所以ALE输出频率固定为fosc/6,经过2级分频(fosc/24=250KHz)和11级分频(fosc/12288=500Hz)分别输入到ICL7135的CLK端和单片机的INT1端,作为ICL7135的时钟基准和单片机外部2ms的定时中断。P0,P2口及P1.3用于扫描4个按键和8个共阳LED显示。24C02是基于两线制IIC总线的256字节,非易失性的EEPROM存储器,用来存放重要系统参数。TOP221P是一宽电压输入(85~260V),低功耗( 5W)的开关电源管理芯片,所以控制器可以直接使用220V市电。


  输入模块可选用:(1)热电偶和热电阻,如K、Pt100、Cu50等;(2)线性电压/电流:0~5V、4~20 mA等;(3)其它:可由用户根据实际需要指定的传感器。


  输出模块可选用:(1)继电器触点开关输出;(2)可控硅无触点开关输出;(3)SSR电压输出;(4)可控硅触发输出;(5)线形电流输出;(6)电流变送输出。


  报警模块为:2路继电器开关输出(AL1和AL2)。



点击看大图
图 1 系统框图


  1.2 软件系统


  系统程序框图如图2所示。该工业控制器启动时,先进入初始化程序,对系统进行自检。然后从EEPROM中读取相关系统设置参数到内部RAM中,读取输入规格参数SN,判断输入是否为热电偶或热电阻,若是,则依据对应的线形补偿表进行线形补偿;否则输入为线形电流或电压,不需要补偿。程序再读取2ms外部定时中断服务程序经过去抖处理的键盘的键值,用状态分析法判断处理对应的参数及LED显示界面。读取A/D采样值,根据实际现场调节数字滤波设置参数DL,进行相关滤波处理,这样得出的测量数据PV比较平滑稳定。再读取设定值SV,与测量值PV值分别送LED显示。读取控制方式参数CTRL值,若为0则是基本的位式控制:通过判断测量值PV与设定值SV的关系来决定输出,回差DF用于避免测量输入值波动而导致位式调节频繁通断或报警频繁产生/解除,当SV-PV>DF时,输出为系统允许最大输出OPH输出,否则以系统允许最小输出OPL输出;若CTRL为1则为智能专家PID控制。



点击看大图
图 2 系统程序框图


  1.3 智能专家PID控制


  智能专家PID控制[2]是基于被控对象的控制规律的知识,以智能的方式利用这些知识来设计PID控制器。智能专家PID控制原理如图3所示。其中误差额e(k)=SV-PV(k), 误差变化; U(k)为第k次控制器的输出。



点击看大图
图 3 智能专家PID控制框图


  依据e(k)及□e(k)制定的专家规则如下:(其中A,B为设定误差界限,A>B; k1为增益放大系数, k1>1; k2为抑制系数,0<k2<1; em(k)为误差e的第k个极值; ε为极小正实数。)


  点击看大图


  当|e(k)|>A时,说明误差很大,要以系统允许的最大(或最小)输出;当e(k)□e(k)>0时,说明误差绝对值在朝增大的方向变化,此时依据|e(k)|值调整PID控制参数;当e(k)□e(k)<0时,在□e(k)□e(k-1)>0或e(k)=0时,说明误差绝对值在朝减小的方向变化,此时可保持输出不变,而在e(k)□e(k)<0时,依据|e(k)|值调整PID微分参数;当|e(k)|<ε时,说明误差绝对值很小,此时调整PID积分参数,减小稳态误差。


  该规则集中的各个常数均为正实数,可由仿真及实验整定后在控制器设定机构上设定好这些参数。另外,这些参数也可以通过上位机进行读写设定。在进行控制时,由控制器依据专家规则,完成对被控对象的智能控制。经验证,此时控制精度较高,效果较好。


  系统程序根据输出模块类型,读取其对应的设置参数,根据前面计算值,转换成对应输出值,如电流,电压等值送输出模块输出。然后程序判断上限、下限、正偏、负偏差、输入越量程等报警参数,若有,则送报警输出模块输出,否则不作反应。系统再根据Modbus通信协议,对接受数据进行解析并作相应处理,包括数据CRC校验,数据打包,读写相关参数等。


2 Modbus现场总线通信协议


  一般基于Modbus现场总线[3]的监控系统采用主从查询-回应的交互方式来实现。本系统使用RTU(远程终端设备)模式,消息发送以大于3.5个字符时间的停顿开始,主机发出要访问的从机地址,每个从机设备都进行解码以判断是否发往自己的。功能代码告之被选中的从机要执行何种功能,数据段包含了附加信息:从何寄存器开始读及要读的寄存器数量。从机在回应消息中的设备地址为本机地址,功能代码是对主机查询消息中的功能代码的回应,数据段包括了从机的寄存器信息。如果有错误发生,功能代码和数据段包含了描述此错误信息的代码,错误检测域用于主机确认从机的回应消息是否可用。在最后一个传输字符之后,大于3.5个字符时间的停顿标定了消息帧的结束。整个消息帧必须以连续的数据流转输,如果在帧完成之前有超过1.5个字符时间的停顿时间,接收设备将判数据超时不可用,刷新不完整的消息并假定下一字节是一个新消息的地址域。同样地,如果一个新消息在小于3.5个字符时间内接着前个消息开始,接收的设备将认为它是前一消息的延续,这都将导致CRC校验错误。


3 基于Modbus现场总线的监控系统


  3.1 智能工业控制器下位机通信模块


  3.1.1 硬件接口


  Modbus协议的物理层一般都采用RS-485半双工结构作为通信接口标准。RS-485采用二线差分电平发送与接收,能有效克服共模干扰、抑制线路噪声, 传输距离可长达1.2km。由于要把单片机的逻辑电平经过光耦6N137隔离后转换成485差分信号在总线上传输,可采用TI公司的SN75LBC184 RS-485收发器,这是一种具有瞬变电压抑制的收发器,可以防止因静电放电(ESD)对收发器造成的损坏,另外SN75LBC184对传输信号变化沿限制斜率, 可减小电磁干扰,总线上至少可挂64个这样的收发器,通信速率最高可达250kbps。Modbus通信模块原理如图4所示。




图 4 通信模块


  3.1.2 软件编程


  Modbus通信数据解析处理程序[4]框图如图5所示,依据Modbus通信协议下位机程序检测主机访问的从机地址,若是本机则进行CRC校验,若正确则进行功能码解析程序,依据功能码转入相应子程序,进行数据打包和相应参数处理,然后发送Modbus数据包。



点击看大图
图 5 Modbus通信数据解析处理程序


  3.2 上位机监控系统


  由于组态王6.51软件[5]中的Modicon Modbus(RTU)驱动程序是基于Modbus通信协议编制的,因此应用时只要参照组态王软件的手册进行操作,通过编制监控画面,设置波特率,校验方式,通讯方式,下位机地址,进行通讯用的I/O变量及类型,变量寄存器以及采样频率等来实现与下位机的通信。图6是用组态王6.51软件编制的连接10台工业控制器的监控系统画面。设置波特率为4800,无校验,Modbus (RTU)unpack方式,地址1~10,数据采集频率为400ms。由于实际监控系统上只挂了第一台工业控制器,其余的画面上显示出了“???”号。该上位机监控系统可实现对下位机数据读写显示,历史数据保存查询,报警,报表打印等功能,从而实现了基于Modbus现场总线的智能工业控制器上位监控系统的设计。



点击看大图
图 6 监控画面


4 结束语


  基于Modbus协议的智能工业控制器监控系统至少可以连接64台智能工业控制器下位机,而组态王上位机监控程序只要根据实际的需要作相应的调整即可使用。而且该智能工业控制器程序经过适当的改动还可以用来作为二十段可编程工艺曲线控制器,合理选择传感器输入模块即可满足多种工业现场参数的控制要求。本监控系统成本低,性能优,使用方便,经过厂家实际使用验证效果比较理想,具有广阔的应用前景,预计经济效益100余万元。

1楼 0 0 回复