《基于Modbus的智能工业控制器监控系统的设计》由会员分享,可在线阅读,更多相关《基于Modbus的智能工业控制器监控系统的设计(11页珍藏版)》请在金锄头文库上搜索。
1、基于 Modbus的智能工业控制器监控系统的设计 (1)2008-08-04 09:59:24 来源:互联网 本设计包括智能工业控制器下位机和应用组态王 6.51软件编制的上位机监控程序,两者通过目前流行的 Modbus协议通讯。前者应用智能专家 PID控制算法,完成对温度,压力,液位等物理量的控制,后者用于对下位机参数读写,显示,报警,报表打印等,从而实现了一套完整可靠的工业监控系统。经厂家使用效果比较理想,有广阔的应用前景。 关键字:智能工业控制器 1 篇 组态王 6.51 1篇 Modbus协议 5 篇 智能专家 PID 1篇 工业监控系统 1 篇 引言随着现代工业的发展,对工业设备的控
2、制逐步从单一独立系统向集散控制监控系统发展,因此,笔者设计了基于 Modbus协议的智能工业控制器监控系统,利用智能专家 PID控制算法,可对工业现场的温度,压力,液位,湿度等参数进行精确控制,并且可以利用上位组态软件实现现场参数的读写,显示,越限报警,打印报表等,实现了一个完整的工业监控系统。1 智能工业控制器的系统组成及工作原理1.1 硬件系统该智能工业控制器系统框图如图 1所示,它采用了 AT89C55WD单片机为 CPU1,以四位半的双积分 A/D转换器 ICL7135串行方式进行数据采集,ICL7135 的 Busy信号上升沿触发定时器 T0开始计脉冲数,转换完毕时 Busy信号下降
3、沿触发 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、扫描 4个按键和 8个共阳 LED显示。24C02 是基于两线制 IIC总线的 256字节,非易失性的 EEPROM存储器,用来存放重要系统参数。TOP221P 是一宽电压输入(85260V),低功耗( 5W)的开关电源管理芯片,所以控制器可以直接使用 220V市电。输入模块可选用:(1)热电偶和热电阻,如 K、Pt100、Cu50 等;(2)线性电压/电流:05V、420 mA 等;(3)其它:可由用户根据实际需要指定的传感器。输出模块可选用:(1)继电器触点开关输出;(2)可控硅无触点开关输出;(3)SSR 电压输出;(4)可控硅触发输出;(5)线形电流输出;(6)电流变送输出。报警模块为
5、:2 路继电器开关输出(AL1 和 AL2)。图 1 系统框图1.2 软件系统系统程序框图如图 2所示。该工业控制器启动时,先进入初始化程序,对系统进行自检。然后从 EEPROM中读取相关系统设置参数到内部 RAM中,读取输入规格参数 SN,判断输入是否为热电偶或热电阻,若是,则依据对应的线形补偿表进行线形补偿;否则输入为线形电流或电压,不需要补偿。程序再读取 2ms外部定时中断服务程序经过去抖处理的键盘的键值,用状态分析法判断处理对应的参数及 LED显示界面。读取 A/D采样值,根据实际现场调节数字滤波设置参数 DL,进行相关滤波处理,这样得出的测量数据 PV比较平滑稳定。再读取设定值 SV
6、,与测量值 PV值分别送 LED显示。读取控制方式参数 CTRL值,若为 0则是基本的位式控制:通过判断测量值 PV与设定值 SV的关系来决定输出,回差 DF用于避免测量输入值波动而导致位式调节频繁通断或报警频繁产生/解除,当 SV-PVDF时,输出为系统允许最大输出 OPH输出,否则以系统允许最小输出 OPL输出;若 CTRL为 1则为智能专家 PID控制。图 2 系统程序框图1.3 智能专家 PID控制智能专家 PID控制2是基于被控对象的控制规律的知识,以智能的方式利用这些知识来设计 PID控制器。智能专家 PID控制原理如图 3所示。其中误差额 e(k)=SV-PV(k), 误差变化
7、; U(k)为第 k次控制器的输出。图 3 智能专家 PID控制框图依据 e(k)及e(k)制定的专家规则如下:(其中 A,B 为设定误差界限,AB; k 1为增益放大系数, k 11; k2为抑制系数,0A 时,说明误差很大,要以系统允许的最大(或最小)输出;当 e(k)e(k)0 时,说明误差绝对值在朝增大的方向变化,此时依据|e(k)|值调整 PID控制参数;当 e(k)e(k)0 或 e(k)=0 时,说明误差绝对值在朝减小的方向变化,此时可保持输出不变,而在 e(k)e(k)0 时,依据|e(k)|值调整 PID微分参数;当|e(k)| 时,说明误差绝对值很小,此时调整 PID积分参
8、数,减小稳态误差。该规则集中的各个常数均为正实数,可由仿真及实验整定后在控制器设定机构上设定好这些参数。另外,这些参数也可以通过上位机进行读写设定。在进行控制时,由控制器依据专家规则,完成对被控对象的智能控制。经验证,此时控制精度较高,效果较好。系统程序根据输出模块类型,读取其对应的设置参数,根据前面计算值,转换成对应输出值,如电流,电压等值送输出模块输出。然后程序判断上限、下限、正偏、负偏差、输入越量程等报警参数,若有,则送报警输出模块输出,否则不作反应。系统再根据Modbus通信协议,对接受数据进行解析并作相应处理,包括数据 CRC校验,数据打包,读写相关参数等。2 Modbus现场总线通
9、信协议一般基于 Modbus现场总线3的监控系统采用主从查询-回应的交互方式来实现。本系统使用 RTU(远程终端设备)模式,消息发送以大于 3.5个字符时间的停顿开始,主机发出要访问的从机地址,每个从机设备都进行解码以判断是否发往自己的。功能代码告之被选中的从机要执行何种功能,数据段包含了附加信息:从何寄存器开始读及要读的寄存器数量。从机在回应消息中的设备地址为本机地址,功能代码是对主机查询消息中的功能代码的回应,数据段包括了从机的寄存器信息。如果有错误发生,功能代码和数据段包含了描述此错误信息的代码,错误检测域用于主机确认从机的回应消息是否可用。在最后一个传输字符之后,大于 3.5个字符时间
10、的停顿标定了消息帧的结束。整个消息帧必须以连续的数据流转输,如果在帧完成之前有超过 1.5个字符时间的停顿时间,接收设备将判数据超时不可用,刷新不完整的消息并假定下一字节是一个新消息的地址域。同样地,如果一个新消息在小于 3.5个字符时间内接着前个消息开始,接收的设备将认为它是前一消息的延续,这都将导致 CRC校验错误。3 基于 Modbus现场总线的监控系统3.1 智能工业控制器下位机通信模块3.1.1 硬件接口Modbus 协议的物理层一般都采用 RS-485半双工结构作为通信接口标准。RS-485 采用二线差分电平发送与接收,能有效克服共模干扰、抑制线路噪声, 传输距离可长达 1.2km
11、。由于要把单片机的逻辑电平经过光耦 6N137隔离后转换成 485差分信号在总线上传输,可采用 TI公司的 SN75LBC184 RS-485收发器,这是一种具有瞬变电压抑制的收发器,可以防止因静电放电(ESD)对收发器造成的损坏,另外 SN75LBC184对传输信号变化沿限制斜率, 可减小电磁干扰,总线上至少可挂 64个这样的收发器,通信速率最高可达250kbps。Modbus 通信模块原理如图 4所示。图 4 通信模块3.1.2 软件编程Modbus 通信数据解析处理程序4框图如图 5所示,依据 Modbus通信协议下位机程序检测主机访问的从机地址,若是本机则进行 CRC校验,若正确则进行
12、功能码解析程序,依据功能码转入相应子程序,进行数据打包和相应参数处理,然后发送 Modbus数据包。图 5 Modbus 通信数据解析处理程序基于 Modbus的智能工业控制器监控系统的设计 (3)2008-08-04 09:59:24 来源:互联网 本设计包括智能工业控制器下位机和应用组态王 6.51软件编制的上位机监控程序,两者通过目前流行的 Modbus协议通讯。前者应用智能专家 PID控制算法,完成对温度,压力,液位等物理量的控制,后者用于对下位机参数读写,显示,报警,报表打印等,从而实现了一套完整可靠的工业监控系统。经厂家使用效果比较理想,有广阔的应用前景。 关键字:智能工业控制器
13、1 篇 组态王 6.51 1篇 Modbus协议 5 篇 智能专家 PID 1篇 工业监控系统 1 篇 3.2 上位机监控系统由于组态王 6.51软件5中的 Modicon Modbus(RTU)驱动程序是基于 Modbus通信协议编制的,因此应用时只要参照组态王软件的手册进行操作,通过编制监控画面,设置波特率,校验方式,通讯方式,下位机地址,进行通讯用的 I/O变量及类型,变量寄存器以及采样频率等来实现与下位机的通信。图 6是用组态王 6.51软件编制的连接 10台工业控制器的监控系统画面。设置波特率为4800,无校验,Modbus (RTU)unpack 方式,地址 110,数据采集频率为
14、 400ms。由于实际监控系统上只挂了第一台工业控制器,其余的画面上显示出了“?”号。该上位机监控系统可实现对下位机数据读写显示,历史数据保存查询,报警,报表打印等功能,从而实现了基于 Modbus现场总线的智能工业控制器上位监控系统的设计。图 6 监控画面4 结束语基于 Modbus协议的智能工业控制器监控系统至少可以连接 64台智能工业控制器下位机,而组态王上位机监控程序只要根据实际的需要作相应的调整即可使用。而且该智能工业控制器程序经过适当的改动还可以用来作为二十段可编程工艺曲线控制器,合理选择传感器输入模块即可满足多种工业现场参数的控制要求。本监控系统成本低,性能优,使用方便,经过厂家实际使用验证效果比较理想,具有广阔的应用前景,预计经济效益 100余万元。参考文献1 赵德安.单片机原理及应用.北京:机械工业出版社,20042 刘金琨.先进 PID控制及其 MATLAB仿真.北京:电子工业出版社,2003.13 MODICON INC.Industrial Automation SystemsModicon Modbus Protocol Reference Guide,June 19964 朱懿,蒋念平.Modbus 协议在工业控制系统中的应用.微计算机信息,2006,10:118-120.5 北京亚控科技发展有限公司.组态王 6.51使用手册,2006.