您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 软件工程 > 欧姆龙-CP1H-模拟量编程的简单应用
1欧姆龙CP1H模拟量编程的简单应用中国工程物理研究院工学院刘兵2本文的目的是为了介绍欧姆龙CP1H型机模拟量编程的一般过程。而对模拟量的高级编程不作说明,因为无论多么复杂的程序都是由简单的构成的。希望这篇文章对大家的PLC模拟量编程有所帮助。在各种型号的PLC编程的书籍中,讲得最多的要算是开关量的编程了。什么是开关量编程,到目前为止还没有一个准确的定义。说通俗易懂点就是,给定一个或几个开关量,与之相对应的线包有或无输出。但是在自动控制领域里开关量编程用得很少的,大多数都是模拟量的编程,如变频调速系统等。下面结合自动供水系统讲模拟量与开关量编程。如图1所示,S1,S2为液面传感器2,S3为液位变送器。A为放水端,B为进水端,YA为进水电磁阀。要求:(1)电路具有启动停止功能。(2)当液面低于S2时,电磁阀YA动作向池中供水。3(3)当液面高于S1时,电磁阀YA停止向池中供水。(4)当液面介于S1与S2之间时,电磁阀YA保持原态。一、解法一:开关量编程这个例子几乎在所有介绍PLC编程的书籍中都可以见到。是讲解PLC编程的一道经典例题。这道题并不难解,梯形图如图2所示,PLC外部接线图如图3所示。41.工作过程(1)当SB1被触发时,中间继电器W0.01得电自保,常开闭合。(2)此时如果水平面在液位传感器S2之下,S2会产生一个触发信号,使电磁阀YA得电并自保,向池中供水。(3)当水平面超过S1时,S1会产生一个触发信号,电磁阀YA停止供水。(4)若水平面在S1与S2之间时,电磁阀YA保持原态。(5)当SB2触发时,中间继电器W0.01失电,触点W0.01不再闭合,无论S2有无触发信号,电磁阀YA都不会工作。2.程序小结上面的解法完全满足题目要求,但是在实际当中却很少这样应用。它有5两大缺点一是S1与S2的调试麻烦。二是当要改变池水容量时,必须调整S1与S2的位置。其中第二个缺点是它致命的缺点。如果采用模拟量编程,在原有功能不变的情况下轻松解决上述两大问题。但请注意,如果采用模拟量编程则不用液面传感器S1、S2,只需一个液位变送器S3。这里用的是CYB31系列一体式液位变送器,外观如图4。它将水体的压力转换成电信号,水越深压力越大,相应的电信号越大,反之电信号越小。(电压信号为1~5V)二、解法二:模拟量编程模拟量编程的方框图如图5所示。61.工作原理(1)液位变送器将水压转换成为电压信号。(2)产生的电压信号经PLC的模拟量200通道输入,将电压信号转换成一个十六进制的数X。(3)将转换的数与参数X1和X2作比较。(怎样设置参数见后文)(4)如果转换的数X大于参数X1,电磁阀YA停止工作;如果转换的数X小于X2,电磁阀YA工作。如果X介于X1和X2之间保持原态。梯形图如图6所示,PLC外部接线图如图7所示。72.软件设定8在联机编程之前需要对PLC进行设置,因为CP1H内置的模拟量输入是通过CX-P软件设置使用的。程序中只需读取对应的通道(CIO200~203)即可。点击CX-P软件工作区的设置,在内置DA/AD选项中设置模拟量的使用和量程,然后在编程状态下传入PLC。具体设置方法如下。单击菜单栏“PLC”选择“编辑(E)”再选择“设置(S)”,弹出一个对话框,将它设置成图8所示。设置成功过后再单击“选项(O)”选择菜单栏“传送到PLC(P)”。特别提示上述操作完成过后,要断电一次然后重新启动,否则所设置的不会生效。3.指令讲解这段梯形图主要用到了两个指令,APR和ZCP指令。APR是数值转换指令,在这里它的作用是把液位变送器传过来的电压信号转换成为一个十六进制的数,并存入寄存器D100中。图6中D0到D4的数据9是用来设置APR参数的,具体设置方法见欧姆龙中文编程手册,这里不作过多的讲述。ZCP是区间比较指令,它对指定的一个数据或常数是否在指定的上限值和下限值之间进行无符号BIN16位的比较,将比较结果反映在状态标志。以图6中的程序为例,#C8是ZCP指令的下限值,#708是ZCP指令的上限值。APR转换过后的数据D100送入ZCP指令作比较。如果D100值小于#C8,那么触点CF007闭合,SET指令对中间继电器W0.02置位,电磁阀YA工作。如果D100值大于#708,那么触点CF005闭合,RSET指令对中间继电器W0.02复位,电磁阀YA停止工作。如果D100介于#C8与#708之间,ZCP指令无动作,则电磁阀YA保持原态。4.参数的设定设置一个合适的参数是这个程序能否调试成功的关键。具体设置方法如下。PLC按图7接线,将液位变送器放入水池子底部,向池中加水,到一定深度(如果低于这个深度系统就应该向池中供水),停止加水,并记录下来此时寄存器D100的值,这便是ZCP指令的下限值。然后继续向水池加水,到我们希望的深度(如果高于这个深度系统就应该停止向池中供水),停止加水,也记录下此时寄存器D100的值,这便是ZCP指令的上限值。这样如要改变水池存水的容量只需改变相应的上限值就可以了,而不必像开关量编程那样要改动硬件。10至此整个编程结束,我们可以看出在实际中,模拟量编程运用更为广泛。当然这篇文只简单地讲了模拟量编程的基础东西,实际运用中的程序比这个要复杂得多,而且所涉及到的指令更复杂。但是,只要我们能熟悉地掌握最基础的东西,就能编出高级实用的程序来。11
本文标题:欧姆龙-CP1H-模拟量编程的简单应用
链接地址:https://www.777doc.com/doc-7037663 .html