您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 基于PLC的温控系统设计与研究
1基于PLC的温控系统设计与研究DesignandResearchofTemperatureControlSystemBasedonPLC蔡军曹慧英(重庆邮电大学,重庆400065)CaijunCaohuiying(chongqinguniversityofpostsandtelecommunication,400065)摘要介绍了用罗克韦尔PLC设备构成温控系统的设计与研究,讨论了PLC输入输出控制的外部接口及显示扩展的软硬件设计,并对PLC和PC的通信和数据技术进行了分析,给出了部分程序。关键词PLC温度控制热电阻模块通信Abstract:ThedesignandresearchoftemperaturecontrolsystemcomposedofSLC500PLCareintroduced.TheexternalinterfacingmethodofPLCandPCinputandoutputaswellasthedesignofhardwareandsoftwarefordisplayexpansionarediscussed.ThecommunicationbetweenPLCandPCandthedataprocessingtechnologyareanalyzed.Partialprogramisgiven.Keywords:PLCTemperaturecontrolResistancethermometrymoduleCommunication0引言随着电子技术的发展,可编程序控制器(PLC)已经由原来简单的逻辑量控制,逐步具有了计算机控制系统的功能。在现代工业控制中,PLC占有了很重要的地位,它可以和计算机一起组成控制功能完善的控制系统。在许多行业的工业控制系统中,温度控制都是要解决的问题之一。如塑料挤出机大都采用简单的温控仪表和温控电路进行控制,存在控制精度低、超调量大等缺点,很难生产出高质量的塑料制品[1]。在一些热处理行业都存在类似的问题。为此,设计了较为通用的温度控制系统,具体系统参数或部分器件可根据各行业的要求不同来进行调整。系统采用罗克韦尔SLC500系列PLC,通过PLC串口通信与计算机相连接,界面友好、运行稳定。1系统构成基于PLC的温度控制系统一般有两种设计方案,一种是PLC扩展专用热电阻或热电偶温度模块构成,另一种是PLC扩展通用A/D转换模块来构成[2]。1.1扩展热电阻/热电偶模块在SLC500控制器扩展模块中,有集温度采集和数据处理于一身的专用智能温度模块—热电阻/电阻信号输入模块(1746-NR4)。在此模块中温度模拟量产生对应的16位A/D数字值,其对热电阻变送的温度信号的分辨率约为1/8度,控制器在数值处理中可以直接使用模块的转换值,无需在硬件级电路上作其他处理。热电阻温度模块的使用十分方便,只需要将热电阻接到模块的接线端子上,不需要任何外部变送器或外围电路,温度信号由热电阻采集,变换为电信号后,直接送人温度模块中。热电偶/毫伏输入模块(1746-NT4)的功能与热电阻/电阻信号输入模块(1746-NR4)类似。系统如图1所示。图1扩展温度模块的温控系统1.2扩展通用A/D模块在PLC温度控制系统中,可以用通用模拟量输入输出混合模块构成温度采集和处理系统。通用A/D转换模块不具有温度数据处理功能,因此温度传感器采集到的温度信号要经过外围电路的转换、放大、滤波、冷端补偿和线性化处理后,才能被A/D转换器识别并转换为相应的数字信号。SLC500系列PLC常用的模拟量输入输出混合模块有—2路差分输入/2路计算机PLC热电阻/热电偶模块热电阻/热电偶加热器电压调整器2电压输出模块(1746-NIO4V),其A/D转换为16位。由A/D转换模块构建的温控系统不但需要外加外围电路,而且其软件和硬件的设计也比较复杂。系统如图2所示。图2通用A/D转换模块温控系统2输入输出控制比较而言用温度模块1746-NR4构建的PLC温控系统具有较好的控制效果。SLC500控制器的输入通道中一个热电阻模块最多可以接4个温度热电阻温度传感器。输出通道为模拟量输出模块(1746NIO4V),其输出信号是电压信号,可以通过电压调整器控制电源的开度(即一周期内的导通比率),从而控制电源的输出功率。在被控对象要求较高的控温精度时,SLC500控制器可以采用PLC自身具有的PID指令进行PID控制算法的研究[3]。SLC500系列PLC的PID指令使用下列算法:输出=Kc[(E)+1/Ti∫(E)dt+Td·D(PV)/Dt]+bias程序设计时,输入PID指令后,要输入控制块,过程变量和控制变量的地址。对于SLC500PID指令,过程变量(PV)和控制变量(CV)两者的量度范围为0到16383。在使用工程单位输入时,必须首先把用户的模拟量范围整定在0-16383数字量度范围之内,为了实现这个目的,需要在PID指令之前使用数值整定指令(SCP指令)进行整定。整定原理如图3。图3数值整定原理整定了PID指令的模拟量I/O范围,用户就能输入适用的最小和最大的工程单位。过程变量,偏差,设定点和死区将在PID数据监视屏上以工程单位显示。图4为PID指令的设置界面,表1为PID指令各参数的说明。图4PID模块在线参数设定与标志位表1PID模块参数说明Flags说明Flags说明TM指定PID方式DB偏差在DB内置位AM自动/手动切换位UL输出报警上限CM控制方式LL输出报警下限016383ScaledValueInputValue计算机PLCA/D转换模块热电阻/热电偶加热器电压调整器变送器3OL输出限制使能位SP设定点超出范围RG复位和增益范围增强PV过程变量超出范围SC整定设定点标志DNPID完成TF循环更新时间过快ENPID使能DA微分(比率)动作位一般温控系统的控制算法可以采用分段式PID控制,即在系统工作的大多数时间内,为PID控制,其参数由10%电源开度下的温度飞升曲线测得。在温度响应曲线的由初态向设定点的上升段过程中,大致采用三段控制。首先置电源为满开度,以最大的功输出克服热惯性;接下来转入PID控制;接近设定点时置电源开度为0,提供一个保温阶段,以适应温度的滞后温升。基于以上要求,PID指令各参数可设置如表2所示。表2PID模块参数设定GainTiTdLoopUpdateControlModePIDControl9.2221.801E=SP-PVAUTOTimeModeLimitOutputCVDeadbandFeedForwardSetpointSPSetpointMaxTIMEDYES0只能观测2010000SetpointMINProcessVariableControlOutputOutputMaxOutputMinScaledError02201000-2温控系统中热电阻模拟量输入模块的电压信号范围一般是0—4124,SCP指令把它整定为0—16383的工程单位,将其值放入PV(过程变量)的内存地址N7:38中,把控制输出值放入N7:39当中。最后用MOV指令把N7:39中的过程变量传递到1746NIO4V模拟量输出模块中。控制效果如下:(1)SP-PV≥50时,输出值为最大值32767,使电压调节器开度最大,即给加热器最大电压供电,使被测对象温度快速上升。(2)SP-PV-30和SP-PV50时,输出为PID控制输出,此范围为PID参数调节的范围。(3)SP-PV-30时,输出值为最小值0,电压调节器开度为零,即停止加热。3显示扩展PLC控制系统显示界面比较单调,一般是通过观察控制柜上的指示灯或PLC的LED灯来了解控制器状态,但对于温控系统这样的显示是不够的,需要采用数码管显示或PC显示。采用数码管显示时,可以选用ZLG7289A芯片[4],它与控制器采用3线串行接口,只需要占用SLC500的3个输出点,可以驱动8个LED数码显示管,同过级联可以扩展数码显示管的数量,实现多段实时温度显示。SLC500与ZLG7289A的连接如图5所示。图5ZLG7289A与SLC500及显示器的接口图5中CS为片选输入端,此脚为低电平时,可向芯片发送指令;CLK是时钟输入端,;DATA是串行数据输入端,串行数据在时钟CLK的上升沿有效。8个段驱动信号SEG接每个显示器的段,8个位驱动信号DIG0—DIG7分别接显示器的共阴极公共地。O:0/1O:0/2O:0/3PLCCSDIG0-7CLKSEGDATAZLG7289A4SLC500有RS232通信口,可以通过专用电缆与PC机相连。通过Rsview32软件的组态,PC机可以动态显示PLC传送的温度采集数据,还可以通过联网对多台PLC进行网络监控。4PLC与PC通信设计4.1PLC数据包的信息格式SLC500与上位机进行数据交换是以二进制字节数据进行,它包含四种主要命:读命令,代码:01H;响应读命令,代码:41H;写命令,代码:08H;响应写命令,代码:48H[5]。故PLC数据包的信息格式如图6所示:图6PLC数据包的信息格式DST:一个字节,信息接收方的节点号或文件号;SRC:一个字节,信息发出方的节点号;CMD:一个字节,命令类型如01H,41H,08H或48H;STS:一个字节,通信状态,表示通信有无错误或错误类型,0为无错误;TNS:二个字节,信息包的业务批号,可作为本信息的识别编号;Addata:地址/字节数/数据,具体内容由不同的命令类型决定。PLC与PC机的数据通信采用自由端口通信模式,参数设置成为波特率9600bps,每个字符8位数据,无奇偶校验。采用主从式通信协议,PC机为主机,只有PC机有权主动发送报文,PLC则采用报文接受数据。用RSLogix500软件对SLC500的串口进行如下设置:1)setthemoduleforfullduplexBSC(DF1fullduplex)2)setthemoduleforembeddedresponse3)setdetectforautomatic4)disableduplicatepacketdetect5)setthebaudratefor9600.4.2PC机程序PC机采用VB编程,主要有监控界面、当前温度显示、动态温度曲线显示、温度数据库管理、参数设置以及与PLC通信等方面的设计。通信参数设置程序如下:WithMSComm1//通信参数设置CommPort=1//通信口COM1Settings=“9600,年n,8,1”//波特率9600bps,无奇偶校验,8位数据,1位停止InputLen=2//一次读取2个字节InputMode=comLnputModeBinary//二进制数据格式PortOpen=Ture//打开通信端口EndWithPC机采用中断方式接受SLC500传来的实时温度。即串口收到数据,VB通信控件会触发OnComm事件,在OnComm事件程序中接受数据并处理。一个温度数据为16位两个字节,SLC500传送温度数据时,按报文传送格式高低字节正好相反,因此,VB程序要对接收的数据进行处理,并按照SLC500温度采集的精度(1/8度)转换成温度值用于显示[6]。5结束语本系统设计使用了PLC的热电阻温度采集模块,在上位机的控制下,对工业现场的温度进行实时的采集和监控。本文作者的创新点是,采用了罗克韦尔的SLC500控制器来实现整个系统的设计,并编程实现了SLC500控制器与计算机串口的实时通信。由于PLC可以适应环境恶劣的工业现场,故其使用范围十分的广泛。参考文献DSTSRCCMDSTSTNS1TNS2Addata51尹新正,王伟明.PLC在塑料挤出机温度控制系统中的应用[J]。塑料工业,2002(5):65-692陈山林.基于PLC特殊功能模块的温度控制系统[J].仪器仪表学报,2004(8):43-473钱晓龙.智能电器与MicroLogix控制器[M].机械工业出版社,2003:67-734蔡军.智能交通灯控制系统的设计与实现[J].重庆邮电学院学
本文标题:基于PLC的温控系统设计与研究
链接地址:https://www.777doc.com/doc-2534822 .html