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需要使用模拟量?
数字量
数字量是物理量的一种。它们的变化在时间上是不连续的,总是发生在一系列离散的瞬间。这一类物理量叫做 数字量。也就是离散量,指得是分散开来的、不存在中间值的量。
模拟量
模拟量是指变量在一定范围连续变化的量;也就是在一定范围(定义域)内可以取任意值(在值域内)。
数字量是分立量,而不是连续变化量,只能取几个分立值,如二进制数字变量只能取两个值。
那么对于实际的工业应用而言,数字量和模拟量都是必不可少的。
因为在工厂的自动化控制中,我们需要对温度,压力,液位,深度等等数据进行监控并控制。
比如说一个锅炉的控制,我们需要水烧到一定温度,一般来说该温度是可调的,比如说50摄氏度,或者70摄氏度,而数字量则不能满足这些条件。
再举个例子,一些化工企业需要测量液体的酸碱度,那么酸碱度不可以用数字量的0或者1表示,只能使用模拟量,PH6.5,PH7.0等等才可以清晰的描绘出实际的数据。
那么学习模拟量其实应该学习两部分内容;
一硬件;
硬件包括选型和接线,选型就是针对不同的工况选择不同的模拟量以及PLC,比如说模拟量使用0-10V,4-20ma还是0-20ma还是特殊的热电偶信号等等。
其次就是接线,大家不要小瞧了接线,针对不同的PLC有不同的接线方法。
对于西门子S7-300系列来说,我们需要使用拓展模块,打开西门子STEP7,徐楠则合适的PLC和模拟量模块,并将模块添加进去。
对于PLC而言,每一个模拟量都有一个固定的地址,这个地址是可以在程序中进行识别并计算的,续智能则合适的地址并添加进去。
根据现场设备,选择合适的量程,如果是测量温度的话需要使用特定的温度模块,并选择合适的温度信号。对于温度的控制,我们以前文章有介绍过,需要的朋友可以去寻找。
对于电压信号,有多种可选类型,可根据实际设备的信号类型进行选择。比如说-10V—10V,-5V—5V,-1V—1V,1-5V。
当然,西门子系列的模拟量拓展模块有很多,除了文中所用到的,还有很多其他的电压信号应用在不同领域。如下图所示。
对于电流信号则分为二线制和四线制,需要按照实际仪表去选择。
如上图所示,选择好模拟量输入类型后需要将硬件的量程卡也切换到相应的位置。
记得拆模块前先断电,调整完以后上电并下载硬件组态。
而对于其他的PLC而言就没有更换量程卡这一步骤,只需要将线直接接到PLC模拟量输入模块即可。
二软件编程;
对于初学PLC编程的人来说,模拟量输入、输出模块的编程要比用位变量进行一般的程序控制难的多,因为它不仅仅是程序编程,而且还涉及到模拟量的转换公式推导与使用的问题。不同的传感变送器,通过不同的模拟量输入输出模块进行转换,其转换公式是不一样的,如果选用的转换公式不对,编出的程序肯定是错误的。
其实对于PLC而言,它可以接受的都是-32767-32767数据,我们需要对这个数据转换成为我们需要的实际数据。
我做了一张图去区分电流和电压信号的区分。
它的意思是将模拟量通道为304的数据转化为量程是0-500的实际数据,并将数据赋给MW104.
模拟量输出则相反,将数据从MW104转化为0-100%的模拟量数据,比如说如果外部信号PQW320是0-10V,则对应0V-10V。
改图是模拟量输出的表达形式,大家可以保存下来。方便查找。
最后给大家一个简单的实例讲解;
这时一个不太复杂的加料程序中的一部分,程序很容易理解,是一个在大料仓里面的雷达料位机,该项目中雷达料位计的特点是可以检测0.5-10米的原料料位,因为生产的原因该料仓需要保证一直有原料。
所以我们需要在该料仓低于大概2米的时候进行补料以保证该料仓的原料充足,并且在达到9米的时候停止避免原料堆积到外面。
好了,模拟量输入输出你看懂了吗?
更多好文章请关注我的头条号!
相关问答
怎么检测plc编程?
下载并安装PLC学习应用软件FX-TRN-BEG-CL-feI,进行程序输入,使用输入按钮FBI,输出显示灯YO,运行自己的编制程序,仿真并验证程序所实现的控制功能:1)按下FBI...
plc模拟量如何编程求实例?
编程PLC模拟量需要使用模拟量输入和输出模块。首先,配置输入模块并将其连接到传感器。然后,在PLC编程软件中创建一个模拟量输入变量,并将其与输入模块的通道...
S7-1200PLC怎样使用带断线诊断的模拟量电流输出?
是指用博图软件设备组态的断线诊断功能吧?其实这个功能有点鸡肋,自己可以编程实现,下面给你讲讲。如下图我的模拟量模块是选择电压输入可以看到断路诊断灰色...
西门子plc模拟量编程实例?
以下是一个使用西门子PLC的模拟量编程示例:假设有一个温度传感器,将温度值转换为4-20mA模拟量信号,然后将信号输入到PLC的模拟量输入模块中。我们需要将输入的...
西门子plc电流模拟量怎么写程序?
要在西门子plc上实现电流模拟量的写入和读取,首先需要正确配置模拟量输入输出模块。接下来使用指令进行模拟量写入和读取操作,例如使用S7-300PLC的SFB52指令...
如何在西门子PLC不启动下输入模拟信号进行报警测试?
若西门子PLC不启动,可以使用外部模拟信号输入模块或者手动输入模拟信号进行报警测试。首先,确保模拟信号输入模块与PLC正确连接,并通过手动设置输入模拟信号...
PLC模拟量编程实例?
1.使用ST结构编写一个简单的PLC模拟量程序,实现当模拟量A的值大于50时,将模拟量B的值设置为100。LD0,A//将模拟量A的值加载到寄存器0MOVD,0//将寄存...
请问PLC300写好程序后怎么模拟测试各个控制回来呀...-盖德...
不知道你的step7是不是专业版,如果是专业版的话,会带有一个模拟器,授权后可以通过模拟器来模拟di/do信号,从而简单的实验控制逻辑。可以用仿真软...
海为plc模拟量程序怎么写?
海为PLC模拟量程序编写:使用LD指令创建梯形图程序,并根据实际应用设置模拟量模块的通道、量程和滤波器参数。对于输入模拟量,使用RTO指令读取通道值并将其映...
三菱PLC编程后怎样模拟仿真?
1、首先,我们需要在开始菜单中打开三菱PLC编程软件GXDeveloper:2、然后,需要从工程菜单中创建新工程,并选择使用plc的系列及类型:3、接着,需要编写一个...1、...