欧姆龙_CP1H_模拟量编程的简单应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

欧姆龙CP1H 模拟量编程的简单应用

XX物理研究院工学院

本文的目的是为了介绍欧姆龙CP1H 型机模拟量编程的一般过程。而对模拟量的高级编程不作说明, 因为无论多么复杂的程序都是由简单的构成的。希望这篇文章对大家的PLC 模拟量编程有所帮助。

在各种型号的PLC 编程的书籍中, 讲得最多的要算是开关量的编程了。什么是开关量编程, 到目前为止还没有一个准确的定义。说通俗易懂点就是, 给定一个或几个开关量, 与之相对应的线包有或无输出。但是在自动控制领域里开关量编程用得很少的, 大多数都是模拟量的编程, 如变频调速系统等。

下面结合自动供水系统讲模拟量与开关量编程。如图 1 所示,S1,S2 为液面传感器2,S3 为液位变送器。A 为放水端,B 为进水端,YA 为进水电磁阀。

要求:

(1) 电路具有启动停止功能。

(2) 当液面低于S2 时, 电磁阀YA 动作向池中供水。

(3) 当液面高于S1 时, 电磁阀YA 停止向池中供水。

(4) 当液面介于S1 与S2 之间时, 电磁阀YA 保持原态。

一、解法一: 开关量编程

这个例子几乎在所有介绍PLC 编程的书籍中都可以见到。是讲解PLC 编程的一道经典例题。这道题并不难解, 梯形图如图 2 所示,PLC 外部接线图如图 3 所示。

1. 工作过程

(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. 程序小结

上面的解法完全满足题目要求, 但是在实际当中却很少这样应用。它有

两大缺点一是S1 与S2 的调试麻烦。二是当要改变池水容量时, 必须调整S1 与S2 的位置。其中第二个缺点是它致命的缺点。

如果采用模拟量编程, 在原有功能不变的情况下轻松解决上述两大问题。但请注意, 如果采用模拟量编程则不用液面传感器S1 、S2, 只需一个液位变送器S3 。这里用的是CYB31 系列一体式液位变送器, 外观如图4 。它将水体的压力转换成电信号, 水越深压力越大, 相应的电信号越大, 反之电信号越小。( 电压信号为1~5V)

二、解法二: 模拟量编程

模拟量编程的方框图如图5 所示。

1. 工作原理

(1) 液位变送器将水压转换成为电压信号。

(2) 产生的电压信号经PLC 的模拟量200 通道输入, 将电压信号转换成一个十六进制的数X 。

(3) 将转换的数与参数X1 和X2 作比较。( 怎样设置参数见后文)

(4) 如果转换的数X 大于参数X1, 电磁阀YA 停止工作; 如果转换的数X 小于X2, 电磁阀YA 工作。如果X 介于X1 和X2 之间保持原态。

梯形图如图 6 所示,PLC 外部接线图如图7 所示。

2. 软件设定

在联机编程之前需要对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 的数据

是用来设置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 指令的上限值。这样如要改变水池存水的容量只需改变相应的上限值就可以了, 而不必像开关量编程那样要改动硬件。

至此整个编程结束, 我们可以看出在实际中, 模拟量编程运用更为广泛。当然这篇文只简单地讲了模拟量编程的基础东西, 实际运用中的程序比这个要复杂得多, 而且所涉及到的指令更复杂。但是, 只要我们能熟悉地掌握最基础的东西, 就能编出高级实用的程序来。

相关文档
最新文档