模拟量在PLC里怎么应用?5分钟后就学会模拟量接线和编程!
在工业应用中,最普遍的两个元素就是数字量和模拟量,今天我们聊一聊模拟量的编程,
模拟量作为工业控制中必不可少的一个元素,由模拟量传感器发出信号,最终由控制单元接收,可以表示温度,压力,流量,液位等等!在PLC控制系统中,最常见的模拟量信号为4-20ma,以前的文章我们也提到过,4-20ma作为行业标准有着得天独厚的优势。
那么除了4-20ma外,我们还可以用-10V~ +10V或者0-20ma等等,这些信号由传感器发送出来,最终进入到PLC模拟量输入通道,那么你知道PLC怎么识别和控制吗?
我们用实例来说明一下,看完本文后你也可以使用PLC编程控制模拟量!
一、 S7-200 模拟量使用简介
S7-200系列产品可以采集标准的电压、电流模拟量信号和热电偶、热电阻温度传感器信号。普通的电压和电流信号经过A/D转换成为0~32000 或者-32000~32000 之间的整数。温度传感器信号被直接转换为摄氏度(或华氏度)温度值,省去了复杂的温度值换算。
S7-200系列可以提供的模拟量输出信号有-10V~ +10V之间的电压和0~20mA 的电流信号,能够满足大多数模拟量负载的需求。
S7-200系列的模拟量扩展模块选型灵活,用户可以根据实际需要选择使用CPU224XP集成的模拟量通道,或者使用4通道输入、8通道输入、2通道输出、4通道输出和输入输出混合模块。
224 XP在CPU上集成了两个模拟量输入端口和一个模拟量输出端口。
224 XP 的模拟量输入/输出通道的精度为 12位。 224 XP上的模拟量输入转换速度比模拟量扩展模块慢,因此要求高的场合请使用模拟量扩展模块。
分辨率 是A/D模拟量转换芯片的转换精度,即用多少位的数值来表示模拟量。S7-200模拟量模块的转换分辨率是12位,能够反映模拟量变化的最小单位是满量程的1/4096。
模拟量转换的精度 除了取决于A/D转换的分辨率,还受到转换芯片的外围电路的影响。在实际应用中,输入的模拟量信号会有波动、噪声和干扰,内部模拟电路也会产生噪声、漂移,这些都会对转换的最后精度造成影响。这些因素造成的误差要大于A/D芯片的转换误差。
二、CPU 224 XP本体集成的模拟量I/O接线图如下:
图中:
a:此处表示A+和B+都可以接±10V信号
b:电流型负载接在I和M端子之间
c:电压型负载接在V和M端子之间
S7-224 XP 的两路模拟量输入通道被出厂设置为电压信号(0-10V)输入。为了能够输入电流信号,必须在 A+ 与 M 端 (或 B+ 与 M 端) 之间并入一个500 欧姆的电阻。并必须确保外接电流源具有短路保护以防损坏。因为没有充分隔离,外接电阻也可成为干扰源。
为了得到尽量精确的测量结果,推荐使用公差尽可能小的电阻。当在500欧电阻两端施加最大 28.8V 的电压时,电阻消耗功率为1.66W。要选择功率大于1.66瓦的500欧电阻。
三、模拟量比例换算
S7-200 CPU内部用数值表示外部的模拟量信号,两者之间有一定的数学关系。这个关系就是模拟量/数值量的换算关系。例如,使用一个0 - 20mA的模拟量信号输入,在S7-200 CPU内部,0 - 20mA对应于数值范围0 - 32000;对于4 - 20mA的信号,对应的内部数值为6400 - 32000。
模拟量转换的目的不是在S7-200 CPU中得到一个0 - 32000之类的数值;对于编程和操作人员来说,得到具体的物理量数值(如压力值、流量值),或者对应物理量占量程的百分比数值更重要,这是换算的最终目标。
1、通用比例换算公式
模拟量的输入/输出都可以用下列的通用换算公式换算:
Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl
其中:
Ov:换算结果,Iv:换算对象,Osh:换算结果的高限,Osl:换算结果的低限,
Ish:换算对象的高限,Ish:换算对象的低限。
它们之间的关系可以图示如下:
2、实用指令库
为便于用户使用,用户可以将“自定义指令库”添加到自己的Micro/WIN编程软件中应用。下载并添加模拟量比例换算指令库如下图中的scale_E(V1.0),或scaling(V1.2)。
在这个指令库中,子程序Scale_I_to_R可用来进行模拟量输入到S7-200内部数据的转换;子程序Scale_R_I可用于内部数据到模拟量输出的转换。
四、模拟量编程实例
1、模拟电路图及接线如下图,24V电源采用S7-224 XP自带的电源。调节电位器可以得到0—9V的直流电压输出。
喜欢的话请点赞并分享,您的支持是我坚持下去的动力!送人玫瑰,手有余香!
PLC编程必备:模拟量计算,结合实际案例详解,这操作一看就懂
模拟量是工业自动化使用的蛮多的一个东西,一般用在对温度、压力等数字量的检测和控制,比较高端的还会结合PID进行使用。在学习模拟量的过程中,读取到相应的数据很简单,困扰大家学习模拟量的最大难题是对模拟量的量程范围的选择以及计算。下面,陈老师将对模拟量的计算进行一个详细的解说,会结合相应的案例,帮助大家理解模拟量。
例1:
如上图,一个温度感应模块,感应的温度时0~150°,对应的输出电压时0~10V,也就是说感应到0的温度,这个模块就输出一个0V的电压;感应到150°,就输出一个10V的电压。中间的每一个温度也会对应一个相应的电压,这里需要去计算么,不不不,现在还不到计算的时候,我们继续往下看。
上图是我们FX系列的plc,加了2个模拟量的模块,其中FX3U-4AD就是用来接收这些电压数值的模块(也可以接收电流)。有一点要记住,plc显示出来的是数字,而不是电压值。而且,显示出来的数值大小也可以是不同范围,例如,可以把0-10V的电压显示为0-10000的数值,也可以显示为0-4000或者0-32000的对应数值,你选择的数值越大,检测的就越精确,看下图的3种模式,我们可以通过plc编程进行设定,选择其中一种:
(由于我们的温度模块是0-10V的,我们plc的接收范围是-10V--+10V,我们把负数部分去掉,对应的数值的负数范围也可以去掉)
下面我们选择0-32000的数值范围进行计算。也就是说,读取到是数值0,就是电压为0v;读取到32000的数值,就是感应到的电压是10V。再对应到我们温度模块的0-150°,可以发现0-10V就是一个中间量,我们不需要拿他来计算, 0数值对应的温度是0°150°对应的数值是32000。
如上图,温度和读取的数值是一个线性关系,我们可以用坐标系表示,温度为X,显示的数值为Y,这时我们发现,他们之间存在一个比例关系,Y是X的k倍,也就是说,显示的数值是实际温度的K倍,具体是多少倍,我们不知道,我们可以列公式 y=k*x,这时可以代入 x=150°时,y=32000,即 32000=k*150,可以求得,k=32000/150=2133
结论是,读取到的数值除以2133就是实际的温度。
选择不同的量程范围,计算的过程都是一样的,这里就不给大家一一演示,下面进入第二个例子,来看看更有难度的计算。
例2:
下图是我们另外一种温度变送器,它能感应到-50°~+150°的温度范围,输出的是4~20ma的电流。
就是说我们的感应器感应到-50°时,输出电流4mA;感应到150°的温度时,输出20mA的电流。参照下图,我们可以选择不用的量程范围
比如,我们选择0~16000的量程范围,那么这时候对应关系如下:
我们把读取的数值命名为y把实际温度命名为x,x变化,我们的y也会跟着变化,这时,因为我们的温度初始检测值不为零,所以计算比前面有所不同。我们先根据-50°对应数值0, +150°对应的数值为16000,做出下图
我们可以列出这样的方程y=k*x+b,然后代入(-50,0)、(150,16000)
这是初中的直线方程的知识点,我们可以接出k=80,b=4000;
y=80*x+4000或x=(y-4000)/80
最后可以得出,实际的数值减去4000,再除以80就是实际的温度。
我们再来回顾下计算的流程。
这就是我们模拟量的计算过程,当然plc也可以通过D\A模块输出电压或者电流,其计算过程和原理都是一样的,这里就留给大家自己去思考。(本文为技成老师原创,作者:陈育鑫,未经授权不得转载,违者必究!)
往期优秀文章回顾:
变频器的控制回路端口详解,图文并茂~
相关问答
PLC是如何处理模拟量的?
可编程序控制器PLC是以微处理器为基础的通用工业控制装置。早期的PLC是以开关量控制而设计的,而现在的PLC已经具备模拟量处理功能,相比开关量而言模拟量处理确...
三凌plc模拟量如何编程?
根据你选用的模拟量模块来确认程序的编写,基本的框架是不变的,使用TO来写入你模块的缓冲存储器的BFM值,用FROM来读取模块的BFM值,当前值、通道选择等一些...
西门子plc模拟量六个步骤?
1、对变送器进行取值,并进行控制2、对模数功能块FC105进行调用3、对AI模块进行设置4、对AI量程块进行选择这个实例,调试的是一个流量调节回路中,...
plc模拟量输出编程步骤?
PLC模拟量输出编程步骤如下:1.确认模拟量输出模块:首先需要确认PLC中使用的模拟量输出模块的型号和参数,包括输出通道数、输出电压范围、精度等。2.配置模...
plc连接外部模拟量过程?
PLC连接外部模拟量的过程需要先确定所需的模拟量输入输出模块,然后将其插入到PLC的相应插槽中。接下来,需要将模拟量信号传输线路与模块连接,然后通过PLC编程...
plc模拟量da与ad是什么意思?
D/A为数模转换,A/D为模数转换。D/A为数模转换,A/D为模数转换。
台达DVP20EX2的plc怎样进行模拟量编程?
说白了就是找到模拟量的通道地址,然后将其移动一个寄存器说白了就是找到模拟量的通道地址,然后将其移动一个寄存器
西门子1200模拟量输入编程实例?
以下是使用西门子S7-1200PLC进行模拟量输入编程的示例代码:1.配置模拟量输入模块在S7-1200PLC的硬件配置中,添加模拟量输入模块,并配置其参数。例如,如...
plc怎么转换成模拟量?
首先,PLC用传感器测量我们所需要的参数,通过变送器将此参数变换成0~10V或者4~20mA,现在很多传感器都是自带变送器的,直接就输出模拟量,建议大家在项目中选...
西门子S7-1200PLC如何转换模拟量?
刚好手头有一个项目有用到模拟量输入输出的,下面就讲解一下首先我这里用的模拟模块是SM1234模块4输入2输出下面是软件设置,可以选择电压模式或者电流模式...